示例#1
0
文件: tests.py 项目: wbernoudy/NoDB
    def test_nodb(self):
        self.assertTrue(True)
        nodb = NoDB()
        nodb.index = "Name"

        jeff = {"Name": "Jeff", "age": 19}
        serialized = nodb._serialize(jeff)
        nodb._deserialize(serialized)

        nodb.serializer = 'json'
        nodb.human_readable_indexes = True
        serialized = nodb._serialize(jeff)
        nodb._deserialize(serialized)
示例#2
0
    def test_nodb_serialize_deserialize(self):
        nodb = NoDB('dummy')
        nodb.index = "Name"

        jeff = {"Name": "Jeff", "age": 19}
        serialized = nodb._serialize(jeff)
        deserialized = nodb._deserialize(serialized)
        self.assertDictEqual(jeff, deserialized['obj'])

        nodb.serializer = 'json'
        nodb.human_readable_indexes = True
        serialized = nodb._serialize(jeff)
        deserialized = nodb._deserialize(serialized)
        self.assertDictEqual(jeff, deserialized['obj'])
示例#3
0
class User(object):
    email = None
    name = None

    def __init__(self):
        self.nodb = NoDB()
        self.nodb.bucket = 'herolfg-tests-learning-nodb-users'
        self.nodb.index = 'email'
        self.nodb.human_readable_indexes = True

    def __str__(self):
        return "{ email: '%s', name: '%s' }" % (self.email, self.name)

    def save(self):
        self.nodb.save(self)

    def load(self, email):
        instance = self.nodb.load(email)
        self.email = instance.email
        self.name = instance.name

    def delete(self, email):
        self.nodb.delete(email)

    def all(self):
        result = []

        bucket = self.nodb.s3.Bucket(self.nodb.bucket)
        for obj in bucket.objects.filter(Prefix=self.nodb.prefix):
            serialized = obj.get()["Body"].read()
            deserialized = self.nodb._deserialize(serialized)
            result.append(deserialized['obj'])

        return result