|
21 | 21 | from cassandra.cqlengine.models import Model |
22 | 22 | from cassandra.cqlengine import columns, connection |
23 | 23 | from cassandra.cqlengine.management import sync_table |
24 | | -from cassandra.cluster import Cluster |
| 24 | +from cassandra.cluster import Cluster, _clusters_for_shutdown |
25 | 25 | from cassandra.query import dict_factory |
26 | 26 |
|
27 | 27 | from tests.integration import PROTOCOL_VERSION, execute_with_long_wait_retry, local |
28 | 28 | from tests.integration.cqlengine.base import BaseCassEngTestCase |
29 | 29 | from tests.integration.cqlengine import DEFAULT_KEYSPACE, setup_connection |
30 | 30 | from cassandra.cqlengine import models |
31 | 31 |
|
| 32 | +from mock import patch |
| 33 | + |
32 | 34 |
|
33 | 35 | class TestConnectModel(Model): |
34 | 36 |
|
35 | 37 | id = columns.Integer(primary_key=True) |
36 | 38 | keyspace = columns.Text() |
37 | 39 |
|
38 | 40 |
|
39 | | -class ConnectionTest(BaseCassEngTestCase): |
| 41 | +class ConnectionTest(unittest.TestCase): |
| 42 | + def tearDown(self): |
| 43 | + connection.unregister_connection("default") |
| 44 | + |
| 45 | + @local |
| 46 | + def test_connection_setup_with_setup(self): |
| 47 | + connection.setup(hosts=None, default_keyspace=None) |
| 48 | + self.assertIsNotNone(connection.get_connection("default").cluster.metadata.get_host("127.0.0.1")) |
| 49 | + |
| 50 | + @local |
| 51 | + def test_connection_setup_with_default(self): |
| 52 | + connection.default() |
| 53 | + self.assertIsNotNone(connection.get_connection("default").cluster.metadata.get_host("127.0.0.1")) |
| 54 | + |
| 55 | + def test_only_one_connection_is_created(self): |
| 56 | + """ |
| 57 | + Test to ensure that only one new connection is created by |
| 58 | + connection.register_connection |
| 59 | +
|
| 60 | + @since 3.12 |
| 61 | + @jira_ticket PYTHON-814 |
| 62 | + @expected_result Only one connection is created |
| 63 | +
|
| 64 | + @test_category object_mapper |
| 65 | + """ |
| 66 | + number_of_clusters_before = len(_clusters_for_shutdown) |
| 67 | + connection.default() |
| 68 | + number_of_clusters_after = len(_clusters_for_shutdown) |
| 69 | + self.assertEqual(number_of_clusters_after - number_of_clusters_before, 1) |
| 70 | + |
| 71 | + |
| 72 | +class SeveralConnectionsTest(BaseCassEngTestCase): |
40 | 73 |
|
41 | 74 | @classmethod |
42 | 75 | def setUpClass(cls): |
43 | 76 | connection.unregister_connection('default') |
44 | 77 | cls.keyspace1 = 'ctest1' |
45 | 78 | cls.keyspace2 = 'ctest2' |
46 | | - super(ConnectionTest, cls).setUpClass() |
| 79 | + super(SeveralConnectionsTest, cls).setUpClass() |
47 | 80 | cls.setup_cluster = Cluster(protocol_version=PROTOCOL_VERSION) |
48 | 81 | cls.setup_session = cls.setup_cluster.connect() |
49 | 82 | ddl = "CREATE KEYSPACE {0} WITH replication = {{'class': 'SimpleStrategy', 'replication_factor': '{1}'}}".format(cls.keyspace1, 1) |
@@ -94,13 +127,3 @@ def test_connection_session_switch(self): |
94 | 127 | connection.set_session(self.session2) |
95 | 128 | self.assertEqual(1, TestConnectModel.objects.count()) |
96 | 129 | self.assertEqual(TestConnectModel.objects.first(), TCM2) |
97 | | - |
98 | | - @local |
99 | | - def test_connection_setup_with_setup(self): |
100 | | - connection.setup(hosts=None, default_keyspace=None) |
101 | | - self.assertIsNotNone(connection.get_connection("default").cluster.metadata.get_host("127.0.0.1")) |
102 | | - |
103 | | - @local |
104 | | - def test_connection_setup_with_default(self): |
105 | | - connection.default() |
106 | | - self.assertIsNotNone(connection.get_connection("default").cluster.metadata.get_host("127.0.0.1")) |
|
0 commit comments