PYTHON-533 added tests for container types and indices
This commit is contained in:
@@ -366,6 +366,14 @@ class InconsistentTable(BaseCassEngTestCase):
|
|||||||
logger.removeHandler(mock_handler)
|
logger.removeHandler(mock_handler)
|
||||||
|
|
||||||
|
|
||||||
|
class TestIndexSetModel(Model):
|
||||||
|
partition = columns.UUID(primary_key=True)
|
||||||
|
int_set = columns.Set(columns.Integer, index=True)
|
||||||
|
int_list = columns.List(columns.Integer, index=True)
|
||||||
|
text_map = columns.Map(columns.Text, columns.DateTime, index=True)
|
||||||
|
mixed_tuple = columns.Tuple(columns.Text, columns.Integer, columns.Text, index=True)
|
||||||
|
|
||||||
|
|
||||||
class IndexTests(BaseCassEngTestCase):
|
class IndexTests(BaseCassEngTestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@@ -412,6 +420,23 @@ class IndexTests(BaseCassEngTestCase):
|
|||||||
table_meta = management._get_table_metadata(IndexCaseSensitiveModel)
|
table_meta = management._get_table_metadata(IndexCaseSensitiveModel)
|
||||||
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'second_key'))
|
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'second_key'))
|
||||||
|
|
||||||
|
def test_sync_indexed_set(self):
|
||||||
|
"""
|
||||||
|
Tests that models that have container types with indices can be synced.
|
||||||
|
|
||||||
|
@since 3.2
|
||||||
|
@jira_ticket PYTHON-533
|
||||||
|
@expected_result table_sync should complete without a server error.
|
||||||
|
|
||||||
|
@test_category object_mapper
|
||||||
|
"""
|
||||||
|
sync_table(TestIndexSetModel)
|
||||||
|
table_meta = management._get_table_metadata(TestIndexSetModel)
|
||||||
|
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'int_set'))
|
||||||
|
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'int_list'))
|
||||||
|
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'text_map'))
|
||||||
|
self.assertIsNotNone(management._get_index_name_by_column(table_meta, 'mixed_tuple'))
|
||||||
|
|
||||||
|
|
||||||
class NonModelFailureTest(BaseCassEngTestCase):
|
class NonModelFailureTest(BaseCassEngTestCase):
|
||||||
class FakeModel(object):
|
class FakeModel(object):
|
||||||
|
|||||||
Reference in New Issue
Block a user