Skip to content

Commit 52eb86d

Browse files
committed
Start fixing integration tests for python 3
1 parent 03b8e08 commit 52eb86d

7 files changed

Lines changed: 35 additions & 30 deletions

File tree

cassandra/concurrent.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sys
22

33
from itertools import count, cycle
4+
from six.moves import xrange
45
from threading import Event
56

67

@@ -79,7 +80,7 @@ def execute_concurrent_with_args(session, statement, parameters, *args, **kwargs
7980
parameters = [(x,) for x in range(1000)]
8081
execute_concurrent_with_args(session, statement, parameters)
8182
"""
82-
return execute_concurrent(session, zip(cycle((statement,)), parameters), *args, **kwargs)
83+
return execute_concurrent(session, list(zip(cycle((statement,)), parameters)), *args, **kwargs)
8384

8485

8586
_sentinel = object()
@@ -92,12 +93,12 @@ def _handle_error(error, result_index, event, session, statements, results, num_
9293
return
9394
else:
9495
results[result_index] = (False, error)
95-
if num_finished.next() >= to_execute:
96+
if next(num_finished) >= to_execute:
9697
event.set()
9798
return
9899

99100
try:
100-
(next_index, (statement, params)) = statements.next()
101+
(next_index, (statement, params)) = next(statements)
101102
except StopIteration:
102103
return
103104

@@ -113,21 +114,21 @@ def _handle_error(error, result_index, event, session, statements, results, num_
113114
return
114115
else:
115116
results[next_index] = (False, exc)
116-
if num_finished.next() >= to_execute:
117+
if next(num_finished) >= to_execute:
117118
event.set()
118119
return
119120

120121

121122
def _execute_next(result, result_index, event, session, statements, results, num_finished, to_execute, first_error):
122123
if result is not _sentinel:
123124
results[result_index] = (True, result)
124-
finished = num_finished.next()
125+
finished = next(num_finished)
125126
if finished >= to_execute:
126127
event.set()
127128
return
128129

129130
try:
130-
(next_index, (statement, params)) = statements.next()
131+
(next_index, (statement, params)) = next(statements)
131132
except StopIteration:
132133
return
133134

@@ -143,6 +144,6 @@ def _execute_next(result, result_index, event, session, statements, results, num
143144
return
144145
else:
145146
results[next_index] = (False, exc)
146-
if num_finished.next() >= to_execute:
147+
if next(num_finished) >= to_execute:
147148
event.set()
148149
return

cassandra/cqltypes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def trim_if_startswith(s, prefix):
5757

5858

5959
def unix_time_from_uuid1(u):
60-
return (u.get_time() - 0x01B21DD213814000) / 10000000.0
60+
return (u.time - 0x01B21DD213814000) / 10000000.0
6161

6262
_casstypes = {}
6363

@@ -318,7 +318,7 @@ def mkUnrecognizedType(casstypename):
318318
(_UnrecognizedType,),
319319
{'typename': "'%s'" % casstypename})
320320
else:
321-
def mkUnrecognizedType(casstypename):
321+
def mkUnrecognizedType(casstypename): # noqa
322322
return CassandraTypeType(casstypename.encode('utf8'),
323323
(_UnrecognizedType,),
324324
{'typename': "'%s'" % casstypename})

tests/integration/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
import logging
77
log = logging.getLogger(__name__)
8+
89
import os
10+
from six import print_
911
from threading import Event
1012

1113
from cassandra.cluster import Cluster
@@ -74,7 +76,7 @@ def get_node(node_id):
7476

7577

7678
def setup_package():
77-
print 'Using Cassandra version: %s' % CASSANDRA_VERSION
79+
print_('Using Cassandra version: %s' % CASSANDRA_VERSION)
7880
try:
7981
try:
8082
cluster = CCMCluster.load(path, CLUSTER_NAME)

tests/integration/standard/test_concurrent.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ def test_execute_concurrent(self):
2929
statements = cycle(("INSERT INTO test3rf.test (k, v) VALUES (%s, %s)", ))
3030
parameters = [(i, i) for i in range(num_statements)]
3131

32-
results = execute_concurrent(self.session, zip(statements, parameters))
32+
results = execute_concurrent(self.session, list(zip(statements, parameters)))
3333
self.assertEqual(num_statements, len(results))
3434
self.assertEqual([(True, None)] * num_statements, results)
3535

3636
# read
3737
statements = cycle(("SELECT v FROM test3rf.test WHERE k=%s", ))
3838
parameters = [(i, ) for i in range(num_statements)]
3939

40-
results = execute_concurrent(self.session, zip(statements, parameters))
40+
results = execute_concurrent(self.session, list(zip(statements, parameters)))
4141
self.assertEqual(num_statements, len(results))
4242
self.assertEqual([(True, [(i,)]) for i in range(num_statements)], results)
4343

@@ -67,7 +67,7 @@ def test_first_failure(self):
6767

6868
self.assertRaises(
6969
InvalidRequest,
70-
execute_concurrent, self.session, zip(statements, parameters), raise_on_first_error=True)
70+
execute_concurrent, self.session, list(zip(statements, parameters)), raise_on_first_error=True)
7171

7272
def test_first_failure_client_side(self):
7373
statements = cycle(("INSERT INTO test3rf.test (k, v) VALUES (%s, %s)", ))
@@ -78,7 +78,7 @@ def test_first_failure_client_side(self):
7878

7979
self.assertRaises(
8080
TypeError,
81-
execute_concurrent, self.session, zip(statements, parameters), raise_on_first_error=True)
81+
execute_concurrent, self.session, list(zip(statements, parameters)), raise_on_first_error=True)
8282

8383
def test_no_raise_on_first_failure(self):
8484
statements = cycle(("INSERT INTO test3rf.test (k, v) VALUES (%s, %s)", ))
@@ -87,7 +87,7 @@ def test_no_raise_on_first_failure(self):
8787
# we'll get an error back from the server
8888
parameters[57] = ('efefef', 'awefawefawef')
8989

90-
results = execute_concurrent(self.session, zip(statements, parameters), raise_on_first_error=False)
90+
results = execute_concurrent(self.session, list(zip(statements, parameters)), raise_on_first_error=False)
9191
for i, (success, result) in enumerate(results):
9292
if i == 57:
9393
self.assertFalse(success)
@@ -101,9 +101,9 @@ def test_no_raise_on_first_failure_client_side(self):
101101
parameters = [(i, i) for i in range(100)]
102102

103103
# the driver will raise an error when binding the params
104-
parameters[57] = i
104+
parameters[57] = 1
105105

106-
results = execute_concurrent(self.session, zip(statements, parameters), raise_on_first_error=False)
106+
results = execute_concurrent(self.session, list(zip(statements, parameters)), raise_on_first_error=False)
107107
for i, (success, result) in enumerate(results):
108108
if i == 57:
109109
self.assertFalse(success)

tests/integration/standard/test_query.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from cassandra.cluster import Cluster
1111
from cassandra.policies import HostDistance
1212

13-
from tests.integration import get_server_versions, PROTOCOL_VERSION
13+
from tests.integration import PROTOCOL_VERSION
1414

1515

1616
class QueryTest(unittest.TestCase):
@@ -29,7 +29,7 @@ def test_query(self):
2929
self.assertIsInstance(bound, BoundStatement)
3030
self.assertEqual(2, len(bound.values))
3131
session.execute(bound)
32-
self.assertEqual(bound.routing_key, '\x00\x00\x00\x01')
32+
self.assertEqual(bound.routing_key, b'\x00\x00\x00\x01')
3333

3434
def test_value_sequence(self):
3535
"""
@@ -88,7 +88,7 @@ def test_routing_key(self):
8888

8989
self.assertIsInstance(prepared, PreparedStatement)
9090
bound = prepared.bind((1, None))
91-
self.assertEqual(bound.routing_key, '\x00\x00\x00\x01')
91+
self.assertEqual(bound.routing_key, b'\x00\x00\x00\x01')
9292

9393
def test_empty_routing_key_indexes(self):
9494
"""
@@ -144,7 +144,7 @@ def test_multiple_routing_key_indexes(self):
144144

145145
self.assertIsInstance(prepared, PreparedStatement)
146146
bound = prepared.bind((1, 2))
147-
self.assertEqual(bound.routing_key, '\x04\x00\x00\x00\x04\x00\x00\x00')
147+
self.assertEqual(bound.routing_key, b'\x04\x00\x00\x00\x04\x00\x00\x00')
148148

149149
def test_bound_keyspace(self):
150150
"""

tests/integration/standard/test_query_paging.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import unittest # noqa
1010

1111
from itertools import cycle, count
12+
from six.moves import range
1213
from threading import Event
1314

1415
from cassandra.cluster import Cluster
@@ -33,7 +34,7 @@ def setUp(self):
3334
def test_paging(self):
3435
statements_and_params = zip(cycle(["INSERT INTO test3rf.test (k, v) VALUES (%s, 0)"]),
3536
[(i, ) for i in range(100)])
36-
execute_concurrent(self.session, statements_and_params)
37+
execute_concurrent(self.session, list(statements_and_params))
3738

3839
prepared = self.session.prepare("SELECT * FROM test3rf.test")
3940

@@ -49,7 +50,7 @@ def test_paging(self):
4950
def test_async_paging(self):
5051
statements_and_params = zip(cycle(["INSERT INTO test3rf.test (k, v) VALUES (%s, 0)"]),
5152
[(i, ) for i in range(100)])
52-
execute_concurrent(self.session, statements_and_params)
53+
execute_concurrent(self.session, list(statements_and_params))
5354

5455
prepared = self.session.prepare("SELECT * FROM test3rf.test")
5556

@@ -65,7 +66,7 @@ def test_async_paging(self):
6566
def test_paging_callbacks(self):
6667
statements_and_params = zip(cycle(["INSERT INTO test3rf.test (k, v) VALUES (%s, 0)"]),
6768
[(i, ) for i in range(100)])
68-
execute_concurrent(self.session, statements_and_params)
69+
execute_concurrent(self.session, list(statements_and_params))
6970

7071
prepared = self.session.prepare("SELECT * FROM test3rf.test")
7172

@@ -78,7 +79,7 @@ def test_paging_callbacks(self):
7879

7980
def handle_page(rows, future, counter):
8081
for row in rows:
81-
counter.next()
82+
next(counter)
8283

8384
if future.has_more_pages:
8485
future.start_fetching_next_page()
@@ -91,7 +92,7 @@ def handle_error(err):
9192

9293
future.add_callbacks(callback=handle_page, callback_args=(future, counter), errback=handle_error)
9394
event.wait()
94-
self.assertEquals(counter.next(), 100)
95+
self.assertEquals(next(counter), 100)
9596

9697
# simple statement
9798
future = self.session.execute_async(SimpleStatement("SELECT * FROM test3rf.test"))
@@ -100,7 +101,7 @@ def handle_error(err):
100101

101102
future.add_callbacks(callback=handle_page, callback_args=(future, counter), errback=handle_error)
102103
event.wait()
103-
self.assertEquals(counter.next(), 100)
104+
self.assertEquals(next(counter), 100)
104105

105106
# prepared statement
106107
future = self.session.execute_async(prepared)
@@ -109,4 +110,4 @@ def handle_error(err):
109110

110111
future.add_callbacks(callback=handle_page, callback_args=(future, counter), errback=handle_error)
111112
event.wait()
112-
self.assertEquals(counter.next(), 100)
113+
self.assertEquals(next(counter), 100)

tests/integration/standard/test_types.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
except ImportError:
44
import unittest # noqa
55

6+
import binascii
67
from decimal import Decimal
78
from datetime import datetime
89
from uuid import uuid1, uuid4
@@ -44,8 +45,8 @@ def test_blob_type_as_string(self):
4445
""")
4546

4647
params = [
47-
'key1',
48-
'blobyblob'.encode('hex')
48+
b'key1',
49+
binascii.hexlify(b'blobyblob')
4950
]
5051

5152
query = 'INSERT INTO mytable (a, b) VALUES (%s, %s)'

0 commit comments

Comments
 (0)