From f3c914bd49a71fe5b720ce843cdb0c43e41f1c32 Mon Sep 17 00:00:00 2001 From: Tyler Hobbs Date: Tue, 21 May 2013 11:37:02 -0500 Subject: [PATCH] Update integration tests to match latest changes --- cassandra/cluster.py | 2 +- tests/integration/__init__.py | 4 ++-- tests/integration/test_cluster.py | 2 +- tests/integration/test_metadata.py | 2 +- tests/integration/test_response_future.py | 20 ++++++++++++-------- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/cassandra/cluster.py b/cassandra/cluster.py index 644364d9..e907dc45 100644 --- a/cassandra/cluster.py +++ b/cassandra/cluster.py @@ -1173,7 +1173,7 @@ class ResponseFuture(object): self) else: results = getattr(response, 'results', None) - if results: + if results is not None and response.kind == ResultMessage.KIND_ROWS: results = self.row_factory(*results) self._set_final_result(results) elif isinstance(response, ErrorMessage): diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py index e1ed3889..33951fb5 100644 --- a/tests/integration/__init__.py +++ b/tests/integration/__init__.py @@ -21,7 +21,7 @@ def setup_package(): try: global existing_keyspaces results = session.execute("SELECT keyspace_name FROM system.schema_keyspaces") - existing_keyspaces = set([row.values()[0] for row in results]) + existing_keyspaces = set([row[0] for row in results]) finally: try: cluster.shutdown() @@ -43,7 +43,7 @@ def teardown_package(): try: if existing_keyspaces: results = session.execute("SELECT keyspace_name FROM system.schema_keyspaces") - current_keyspaces = set([row.values()[0] for row in results]) + current_keyspaces = set([row[0] for row in results]) for keyspace in current_keyspaces - existing_keyspaces: session.execute("DROP KEYSPACE %s" % (keyspace,)) diff --git a/tests/integration/test_cluster.py b/tests/integration/test_cluster.py index 7423ef98..0b54c0b9 100644 --- a/tests/integration/test_cluster.py +++ b/tests/integration/test_cluster.py @@ -32,7 +32,7 @@ class ClusterTests(unittest.TestCase): self.assertEquals(None, result) result = session.execute("SELECT * FROM clustertests.cf0") - self.assertEquals([{'a': 'a', 'b': 'b', 'c': 'c'}], result) + self.assertEquals([('a', 'b', 'c')], result) cluster.shutdown() diff --git a/tests/integration/test_metadata.py b/tests/integration/test_metadata.py index b80df696..b0075911 100644 --- a/tests/integration/test_metadata.py +++ b/tests/integration/test_metadata.py @@ -20,7 +20,7 @@ class SchemaMetadataTest(unittest.TestCase): session = cluster.connect() try: results = session.execute("SELECT keyspace_name FROM system.schema_keyspaces") - existing_keyspaces = [row.values()[0] for row in results] + existing_keyspaces = [row[0] for row in results] if cls.ksname in existing_keyspaces: session.execute("DROP KEYSPACE %s" % cls.ksname) diff --git a/tests/integration/test_response_future.py b/tests/integration/test_response_future.py index aa6c7261..2fab722c 100644 --- a/tests/integration/test_response_future.py +++ b/tests/integration/test_response_future.py @@ -13,8 +13,11 @@ from cassandra.query import SimpleStatement class ResponseFutureTests(unittest.TestCase): + def make_basic_session(self): + return Mock(spec=Session, row_factory=lambda *x: list(x)) + def make_session(self): - session = Mock(spec=Session) + session = self.make_basic_session() session._load_balancer.make_query_plan.return_value = ['ip1', 'ip2'] session._pools.get.return_value.is_shutdown = False return session @@ -25,7 +28,7 @@ class ResponseFutureTests(unittest.TestCase): return ResponseFuture(session, message, query) def test_result_message(self): - session = Mock(spec=Session) + session = self.make_basic_session() session._load_balancer.make_query_plan.return_value = ['ip1', 'ip2'] pool = session._pools.get.return_value pool.is_shutdown = False @@ -61,7 +64,7 @@ class ResponseFutureTests(unittest.TestCase): results="keyspace1") rf._set_result(result) self.assertEqual(None, rf.deliver()) - session.set_keyspace.assert_called_once_with('keyspace1') + self.assertEqual(session.keyspace, 'keyspace1') def test_schema_change_result(self): session = self.make_session() @@ -78,8 +81,9 @@ class ResponseFutureTests(unittest.TestCase): session = self.make_session() rf = self.make_response_future(session) rf.send_request() - rf._set_result(Mock(spec=ResultMessage, kind=999, results="foobar")) - self.assertEqual('foobar', rf.deliver()) + result = object() + rf._set_result(Mock(spec=ResultMessage, kind=999, results=result)) + self.assertIs(result, rf.deliver()) def test_read_timeout_error_message(self): session = self.make_session() @@ -230,7 +234,7 @@ class ResponseFutureTests(unittest.TestCase): self.assertRaises(NoHostAvailable, rf.deliver) def test_all_pools_shutdown(self): - session = Mock(spec=Session) + session = self.make_basic_session() session._load_balancer.make_query_plan.return_value = ['ip1', 'ip2'] session._pools.get.return_value.is_shutdown = True @@ -239,7 +243,7 @@ class ResponseFutureTests(unittest.TestCase): self.assertRaises(NoHostAvailable, rf.deliver) def test_first_pool_shutdown(self): - session = Mock(spec=Session) + session = self.make_basic_session() session._load_balancer.make_query_plan.return_value = ['ip1', 'ip2'] # first return a pool with is_shutdown=True, then is_shutdown=False session._pools.get.side_effect = [Mock(is_shutdown=True), Mock(is_shutdown=False)] @@ -254,7 +258,7 @@ class ResponseFutureTests(unittest.TestCase): self.assertEqual(result, [{'col': 'val'}]) def test_timeout_getting_connection_from_pool(self): - session = Mock(spec=Session) + session = self.make_basic_session() session._load_balancer.make_query_plan.return_value = ['ip1', 'ip2'] # the first pool will raise an exception on borrow_connection()