示例#1
0
    def setUp(self):
        self.storage = MemcacheFeatureStorage(hosts=['localhost'])

        self.bucket = self.storage.create_bucket(u'mem_test', overwrite=True)

        self.test_name = u'feature'
        self.test_mapper = FeatureMapper(
            properties=dict(x=1, y=1),
            metadata=dict(z=2),
            wkt='POINT (1 1)',
            srid=4326,
        )
示例#2
0
class TestMemcacheFeatureStorage(unittest.TestCase):
    def setUp(self):
        self.storage = MemcacheFeatureStorage(hosts=['localhost'])

        self.bucket = self.storage.create_bucket(u'mem_test', overwrite=True)

        self.test_name = u'feature'
        self.test_mapper = FeatureMapper(
            properties=dict(x=1, y=1),
            metadata=dict(z=2),
            wkt='POINT (1 1)',
            srid=4326,
        )

    def tearDown(self):
        self.storage.close()

    def test_create_get_delete_bucket(self):
        bucket_name = u'bb1'

        self.storage.create_bucket(bucket_name, overwrite=True)
        self.assertTrue(self.storage.has_bucket(bucket_name))

        self.assertRaises(DuplicatedBucket, self.storage.create_bucket, bucket_name)

        bucket = self.storage.get_bucket(bucket_name)
        self.assertEqual(bucket.bucket_name, bucket_name)

        self.storage.delete_bucket(bucket_name)
        self.assertFalse(self.storage.has_bucket(bucket_name))


    def test_commit_checkout(self):
        commit1 = self.bucket.commit(self.test_name, self.test_mapper)
        self.assertEqual(commit1.name, self.test_name)
        self.assertIsNone(commit1.revision)
        self.assertIsNone(commit1.create_at)
        self.assertIsNone(commit1.expire_at)

        commit2, mapper = self.bucket.checkout(self.test_name)
        self.assertEqual(commit2.name, self.test_name)
        self.assertIsNone(commit2.revision)
        self.assertIsNone(commit2.create_at)
        self.assertIsNone(commit2.expire_at)

    def test_commit_remove(self):
        commit1 = self.bucket.commit(self.test_name, self.test_mapper)
        self.assertEqual(commit1.name, self.test_name)
        self.assertIsNone(commit1.revision)
        self.assertIsNone(commit1.create_at)
        self.assertIsNone(commit1.expire_at)

        commit2 = self.bucket.remove(self.test_name)
        self.assertEqual(commit2.name, self.test_name)
        self.assertIsNone(commit2.revision)
        self.assertIsNone(commit2.create_at)
        self.assertIsNone(commit2.expire_at)

    def test_sequential_commit(self):
        commit1 = self.bucket.commit(self.test_name, self.test_mapper)
        self.assertEqual(commit1.name, self.test_name)
        self.assertIsNone(commit1.revision)
        self.assertIsNone(commit1.create_at)
        self.assertIsNone(commit1.expire_at)

        commit2 = self.bucket.commit(self.test_name, self.test_mapper)
        self.assertEqual(commit2.name, self.test_name)
        self.assertIsNone(commit2.revision)
        self.assertIsNone(commit2.create_at)
        self.assertIsNone(commit2.expire_at)

        commit3, mapper = self.bucket.checkout(self.test_name,
                                               self.test_mapper)
        self.assertEqual(commit2.name, self.test_name)
        self.assertIsNone(commit2.revision)
        self.assertIsNone(commit2.create_at)
        self.assertIsNone(commit2.expire_at)

        self.assertEqual(mapper, self.test_mapper)