Ejemplo n.º 1
0
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"))
Ejemplo n.º 2
0
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"))
Ejemplo n.º 3
0
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)