예제 #1
0
    def test_flat(self, user_table, UsersResource, User):

        users_resource = UsersResource()

        now = datetime.now()

        user_resource = users_resource.create(User(organization_id=0, id=0, created_at=now))
        user = user_resource.data
        assert user.organization_id == 0
        assert user.id == 0
        assert user.created_at == now

        user_resource = users_resource['0_0']
        user = user_resource.data
        assert user.organization_id == 0
        assert user.id == 0
        assert user.created_at == now

        user_ressource = users_resource.retrieve(0, 0)
        user = user_resource.data
        assert user.organization_id == 0
        assert user.id == 0
        assert user.created_at == now

        user_resource.update(name='updated')
        user = user_resource.data
        assert user.name == 'updated'

        user_resource.delete()
        user = user_resource.data
        assert user is None

        with raises(KeyError):
            users_resource['0_0']

        with CollectionResource.get_context('dynamodb') as context:
            users_resource.create(User(organization_id=0, id=1), context)
            users_resource.create(User(organization_id=0, id=2), context)
            users_resource.create(User(organization_id=0, id=3), context)
            assert len(list(users_resource.query(organization_id__eq=0))) == 0

        assert [1, 2, 3] == [u_res.data.id for u_res in users_resource.query(organization_id__eq=0, reverse=True)]

        assert [1, 3] == [
            u_res.data.id for u_res in
            users_resource.bulk_get(keys=[{'organization_id': 0, 'id': 1},
                                          {'organization_id': 0, 'id': 3}])
        ]
예제 #2
0
 def __init__(self, parent, name):
     CollectionResource.__init__(self, parent, name, 'memory')
예제 #3
0
 def __init__(self, parent, name):
     CollectionResource.__init__(self, parent, name, 'memory')
예제 #4
0
 def __init__(self, parent, name):
     CollectionResource.__init__(self, parent, name, 'dynamodb', 'HieraticDynamoDBTestOrganization', ddb_region, ddb_host, False, ddb_port)
예제 #5
0
 def __init__(self):
     CollectionResource.__init__(self, None, 'users', 'dynamodb', 'HieraticDynamoDBTestUser', ddb_region, ddb_host, False, ddb_port)