class ConfigureNamespaceCase(unittest.TestCase): def setUp(self): datastore_batch = appscale_datastore_batch.DatastoreFactory.getDatastore( DB) self.app_datastore = DatastoreDistributed(datastore_batch) def runTest(self): assert self.app_datastore.GetTablePrefix(("hi", "bye")) == "hi/bye" def tearDown(self): key = self.app_datastore.GetTablePrefix(("hi", "bye"))
class GetPrefixCase(unittest.TestCase): def setUp(self): global datastore_batch datastore_batch = appscale_datastore_batch.DatastoreFactory.getDatastore( DB) self.app_datastore = DatastoreDistributed(datastore_batch) def runTest(self): assert self.app_datastore.GetTablePrefix(('hi1', 'bye1')) == "hi1/bye1" def tearDown(self): key = self.app_datastore.GetTablePrefix(("hi1", "bye1"))
class PutCase(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, 3): entity = datastore.Entity("TestKind", _app="test", name=str(ii), parent=prev, namespace='e') prev = entity # have properties with different values bye same property names entity.update({'aaa': "1111_" + str(ii), 'bbb': "2222"}) self.entities.append(entity.ToPb()) self.entities2 = [] prev = None for ii in range(0, 3): entity = datastore.Entity("TestKind", _app="test", name=str(ii), parent=prev, namespace='e') prev = entity # have properties with different values bye same property names entity.update({'aaa': "x111_" + str(ii), 'bbb': "x222"}) self.entities2.append(entity.ToPb()) tuples = sorted( (self.app_datastore.GetTablePrefix(x), x) for x in self.entities) # keys should be the same for entities and entities2 self.keys = self.app_datastore.GetIndexKVFromTuple(tuples, reverse=False) self.keys = [x[0] for x in self.keys] tuples = sorted( (self.app_datastore.GetTablePrefix(x), x) for x in self.entities2) # keys should be the same for entities and entities2 self.keys2 = self.app_datastore.GetIndexKVFromTuple(tuples, reverse=False) self.keys2 = [x[0] for x in self.keys2] def runTest(self): self.app_datastore.PutEntities(self.entities) ret = datastore_batch.batch_get_entity(ASC_PROPERTY_TABLE, self.keys, PROPERTY_SCHEMA) assert 'test/e/TestKind:0!TestKind:1' in \ ret['test/e/TestKind/aaa/1111_1\x00/TestKind:0!TestKind:1!']['reference'] # overwrite test self.app_datastore.PutEntities(self.entities2) ret = datastore_batch.batch_get_entity(ASC_PROPERTY_TABLE, self.keys2, PROPERTY_SCHEMA) assert 'test/e/TestKind:0!TestKind:1' in \ ret['test/e/TestKind/aaa/x111_1\x00/TestKind:0!TestKind:1!']['reference'] def tearDown(self): keys = [e.key() for e in self.entities] self.app_datastore.DeleteEntities(keys)