class InsertEntityGroupCase(unittest.TestCase): def setUp(self): datastore_batch = appscale_datastore_batch.DatastoreFactory.getDatastore( DB) self.app_datastore = DatastoreDistributed(datastore_batch) self.entities = [] prev = None for ii in range(0, 4): entity = datastore.Entity("TestKind", _app="test", name=str(ii), namespace='b', parent=prev) prev = entity # have properties with different values bye same property names entity.update({ 'aaa': "1111_" + str(ii), 'bbb': "2222", 'ccc': "3" * ii }) self.entities.append(entity.ToPb()) self.keys = [ 'test/b/TestKind:0!', 'test/b/TestKind:0!TestKind:1!', 'test/b/TestKind:0!TestKind:1!TestKind:2!', 'test/b/TestKind:0!TestKind:1!TestKind:2!TestKind:3!' ] self.kkeys = [ 'test/b/TestKind:0!', 'test/b/TestKind:1!TestKind:0!', 'test/b/TestKind:2!TestKind:1!TestKind:0!', 'test/b/TestKind:3!TestKind:2!TestKind:1!TestKind:0!' ] def runTest(self): self.app_datastore.InsertEntities(self.entities) datastore_batch = appscale_datastore_batch.DatastoreFactory.getDatastore( DB) ret = datastore_batch.batch_get_entity(APP_ENTITY_TABLE, self.keys, APP_ENTITY_SCHEMA) assert 'aaa' in ret['test/b/TestKind:0!']['entity'] assert 'bbb' in ret['test/b/TestKind:0!']['entity'] assert 'ccc' in ret['test/b/TestKind:0!']['entity'] assert 'aaa' in ret['test/b/TestKind:0!TestKind:1!']['entity'] assert 'bbb' in ret['test/b/TestKind:0!TestKind:1!']['entity'] assert 'ccc' in ret['test/b/TestKind:0!TestKind:1!']['entity'] def tearDown(self): datastore_batch = appscale_datastore_batch.DatastoreFactory.getDatastore( DB) ret = datastore_batch.batch_delete(APP_ENTITY_TABLE, self.keys, APP_ENTITY_SCHEMA) ret = datastore_batch.batch_delete(APP_KIND_TABLE, self.kkeys, APP_KIND_SCHEMA) # Verify an entity has been deleted ret = datastore_batch.batch_get_entity(APP_ENTITY_TABLE, self.keys, APP_ENTITY_SCHEMA) assert 'entity' not in ret['test/b/TestKind:0!']