示例#1
0
class ThriftTestCollections(unittest.TestCase):
    def setUp(self):
        self.db = ThriftDB()
        # create a test bucket
        self.db.make_bucket('test_bucket')
        self.schema = deepcopy(SCHEMA)

    def tearDown(self):
        self.db.delete_bucket('test_bucket')

    def test_create_collection(self):
        self.db.delete_collection('test_bucket', 'cars')
        r = self.db.make_collection(
                'test_bucket', 'cars', json.dumps(self.schema))
        self.assertEqual(r.status_code, 201)

    def test_update_collection(self):
        # make the collection
        self.db.make_collection('test_bucket', 'cars', json.dumps(self.schema))
        self.schema['a_field'] = {
            '__class__': 'AttributeDescriptor',
            'thrift_index': 4,
            'datatype': {'__class__': 'StringType'}
        }
        r = self.db.make_collection(
                'test_bucket', 'cars', json.dumps(self.schema))
        self.assertEqual(r.status_code, 200)

    def test_get_collection(self):
        self.db.make_collection('test_bucket', 'cars', json.dumps(self.schema))
        r = self.db.get_collection('test_bucket', 'cars')
        self.assertEqual(r.status_code, 200)

    def test_get_nonexistent_collection(self):
        r = self.db.get_collection('test_bucket', 'cars')
        self.assertEqual(r.status_code, 404)

    def test_delete_collection(self):
        self.db.make_collection('test_bucket', 'cars', json.dumps(self.schema))
        r = self.db.delete_collection('test_bucket', 'cars')
        self.assertEqual(r.status_code, 200)

    def test_delete_nonexistent_collection(self):
        r = self.db.delete_collection('test_bucket', 'cars')
        self.assertEqual(r.status_code, 404)