diff --git a/tests/integration/cqlengine/columns/test_validation.py b/tests/integration/cqlengine/columns/test_validation.py index b6457555..ce8ab987 100644 --- a/tests/integration/cqlengine/columns/test_validation.py +++ b/tests/integration/cqlengine/columns/test_validation.py @@ -153,14 +153,19 @@ class TestDate(BaseCassEngTestCase): @classmethod def setUpClass(cls): if PROTOCOL_VERSION < 4: - raise unittest.SkipTest("Protocol v4 datatypes require native protocol 4+, currently using: {0}".format(PROTOCOL_VERSION)) - + return sync_table(cls.DateTest) @classmethod def tearDownClass(cls): + if PROTOCOL_VERSION < 4: + return drop_table(cls.DateTest) + def setUp(self): + if PROTOCOL_VERSION < 4: + raise unittest.SkipTest("Protocol v4 datatypes require native protocol 4+, currently using: {0}".format(PROTOCOL_VERSION)) + def test_date_io(self): today = date.today() self.DateTest.objects.create(test_id=0, created_at=today) diff --git a/tests/integration/cqlengine/management/test_management.py b/tests/integration/cqlengine/management/test_management.py index 1601f318..e20680d0 100644 --- a/tests/integration/cqlengine/management/test_management.py +++ b/tests/integration/cqlengine/management/test_management.py @@ -311,30 +311,32 @@ class NonModelFailureTest(BaseCassEngTestCase): with self.assertRaises(CQLEngineException): sync_table(self.FakeModel) +class StaticColumnTests(BaseCassEngTestCase): + def test_static_columns(self): + if PROTOCOL_VERSION < 2: + raise unittest.SkipTest("Native protocol 2+ required, currently using: {0}".format(PROTOCOL_VERSION)) -@unittest.skipUnless(PROTOCOL_VERSION >= 2, "only runs against the cql3 protocol v2.0") -def test_static_columns(): - class StaticModel(Model): - id = columns.Integer(primary_key=True) - c = columns.Integer(primary_key=True) - name = columns.Text(static=True) + class StaticModel(Model): + id = columns.Integer(primary_key=True) + c = columns.Integer(primary_key=True) + name = columns.Text(static=True) - drop_table(StaticModel) + drop_table(StaticModel) - session = get_session() + session = get_session() - with mock.patch.object(session, "execute", wraps=session.execute) as m: + with mock.patch.object(session, "execute", wraps=session.execute) as m: + sync_table(StaticModel) + + assert m.call_count > 0 + statement = m.call_args[0][0].query_string + assert '"name" text static' in statement, statement + + # if we sync again, we should not apply an alter w/ a static sync_table(StaticModel) - assert m.call_count > 0 - statement = m.call_args[0][0].query_string - assert '"name" text static' in statement, statement + with mock.patch.object(session, "execute", wraps=session.execute) as m2: + sync_table(StaticModel) - # if we sync again, we should not apply an alter w/ a static - sync_table(StaticModel) - - with mock.patch.object(session, "execute", wraps=session.execute) as m2: - sync_table(StaticModel) - - assert len(m2.call_args_list) == 1 - assert "ALTER" not in m2.call_args[0][0].query_string + assert len(m2.call_args_list) == 1 + assert "ALTER" not in m2.call_args[0][0].query_string diff --git a/tests/integration/cqlengine/model/test_model_io.py b/tests/integration/cqlengine/model/test_model_io.py index 35d7b81f..3ba2aa97 100644 --- a/tests/integration/cqlengine/model/test_model_io.py +++ b/tests/integration/cqlengine/model/test_model_io.py @@ -437,7 +437,7 @@ class TestQuerying(BaseCassEngTestCase): @classmethod def setUpClass(cls): if PROTOCOL_VERSION < 4: - raise unittest.SkipTest("Date query tests require native protocol 4+, currently using: {0}".format(PROTOCOL_VERSION)) + return super(TestQuerying, cls).setUpClass() drop_table(TestQueryModel) @@ -445,9 +445,16 @@ class TestQuerying(BaseCassEngTestCase): @classmethod def tearDownClass(cls): + if PROTOCOL_VERSION < 4: + return + super(TestQuerying, cls).tearDownClass() drop_table(TestQueryModel) + def setUp(self): + if PROTOCOL_VERSION < 4: + raise unittest.SkipTest("Date query tests require native protocol 4+, currently using: {0}".format(PROTOCOL_VERSION)) + def test_query_with_date(self): uid = uuid4() day = date(2013, 11, 26) diff --git a/tests/integration/cqlengine/model/test_udts.py b/tests/integration/cqlengine/model/test_udts.py index 86cc4596..bf2f3702 100644 --- a/tests/integration/cqlengine/model/test_udts.py +++ b/tests/integration/cqlengine/model/test_udts.py @@ -32,8 +32,7 @@ from tests.integration.cqlengine.base import BaseCassEngTestCase class UserDefinedTypeTests(BaseCassEngTestCase): - @classmethod - def setUpClass(self): + def setUp(self): if PROTOCOL_VERSION < 3: raise unittest.SkipTest("UDTs require native protocol 3+, currently using: {0}".format(PROTOCOL_VERSION)) diff --git a/tests/integration/cqlengine/query/test_queryset.py b/tests/integration/cqlengine/query/test_queryset.py index cbaea21f..5c2b76f9 100644 --- a/tests/integration/cqlengine/query/test_queryset.py +++ b/tests/integration/cqlengine/query/test_queryset.py @@ -689,23 +689,25 @@ class TestObjectsProperty(BaseQuerySetUsage): len(TestModel.objects) # evaluate queryset assert TestModel.objects._result_cache is None +class PageQueryTests(BaseCassEngTestCase): + def test_paged_result_handling(self): + if PROTOCOL_VERSION < 2: + raise unittest.SkipTest("Paging requires native protocol 2+, currently using: {0}".format(PROTOCOL_VERSION)) -@unittest.skipUnless(PROTOCOL_VERSION >= 2, "only runs against the cql3 protocol v2.0") -def test_paged_result_handling(): - # addresses #225 - class PagingTest(Model): - id = columns.Integer(primary_key=True) - val = columns.Integer() - sync_table(PagingTest) + # addresses #225 + class PagingTest(Model): + id = columns.Integer(primary_key=True) + val = columns.Integer() + sync_table(PagingTest) - PagingTest.create(id=1, val=1) - PagingTest.create(id=2, val=2) + PagingTest.create(id=1, val=1) + PagingTest.create(id=2, val=2) - session = get_session() - with mock.patch.object(session, 'default_fetch_size', 1): - results = PagingTest.objects()[:] + session = get_session() + with mock.patch.object(session, 'default_fetch_size', 1): + results = PagingTest.objects()[:] - assert len(results) == 2 + assert len(results) == 2 class ModelQuerySetTimeoutTestCase(BaseQuerySetUsage):