Fixing timing, dependency and CL issues in tests.
This commit is contained in:
@@ -19,7 +19,6 @@ build:
|
|||||||
export JAVA_HOME=$CCM_JAVA_HOME
|
export JAVA_HOME=$CCM_JAVA_HOME
|
||||||
export PATH=$JAVA_HOME/bin:$PATH
|
export PATH=$JAVA_HOME/bin:$PATH
|
||||||
|
|
||||||
sudo python /home/jenkins/ccm/setup.py install
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
if [[ $EVENT_LOOP_MANAGER == 'libev' ]]; then
|
if [[ $EVENT_LOOP_MANAGER == 'libev' ]]; then
|
||||||
sudo apt-get install -y libev4 libev-dev
|
sudo apt-get install -y libev4 libev-dev
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
-r requirements.txt
|
-r requirements.txt
|
||||||
blist
|
|
||||||
scales
|
scales
|
||||||
nose
|
nose
|
||||||
mock<=1.0.1
|
mock<=1.0.1
|
||||||
|
@@ -17,7 +17,8 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
import unittest # noqa
|
import unittest # noqa
|
||||||
|
|
||||||
from cassandra.cqlengine import operators, connection
|
from cassandra import ConsistencyLevel
|
||||||
|
from cassandra.cqlengine import operators
|
||||||
from cassandra.cqlengine.named import NamedKeyspace
|
from cassandra.cqlengine.named import NamedKeyspace
|
||||||
from cassandra.cqlengine.operators import EqualsOperator, GreaterThanOrEqualOperator
|
from cassandra.cqlengine.operators import EqualsOperator, GreaterThanOrEqualOperator
|
||||||
from cassandra.cqlengine.query import ResultObject
|
from cassandra.cqlengine.query import ResultObject
|
||||||
@@ -343,20 +344,17 @@ class TestNamedWithMV(BasicSharedKeyspaceUnitTestCase):
|
|||||||
('jbellis', 'Checkers', 2015, 6, 20, 1200),
|
('jbellis', 'Checkers', 2015, 6, 20, 1200),
|
||||||
('jbellis', 'Chess', 2015, 6, 21, 3500),
|
('jbellis', 'Chess', 2015, 6, 21, 3500),
|
||||||
('pcmanus', 'Chess', 2015, 1, 25, 3200)}
|
('pcmanus', 'Chess', 2015, 1, 25, 3200)}
|
||||||
|
prepared_insert.consistency_level = ConsistencyLevel.ALL
|
||||||
execute_concurrent_with_args(self.session, prepared_insert, parameters)
|
execute_concurrent_with_args(self.session, prepared_insert, parameters)
|
||||||
|
|
||||||
# Attempt to query the data using Named Table interface
|
# Attempt to query the data using Named Table interface
|
||||||
# Also test filtering on mv's
|
# Also test filtering on mv's
|
||||||
key_space = NamedKeyspace(ks)
|
key_space = NamedKeyspace(ks)
|
||||||
table = key_space.table("scores")
|
|
||||||
mv_monthly = key_space.table("monthlyhigh")
|
mv_monthly = key_space.table("monthlyhigh")
|
||||||
table_objects = table.objects.all()
|
|
||||||
mv_monthly_objects = mv_monthly.objects.all()
|
|
||||||
mv_all_time = key_space.table("alltimehigh")
|
mv_all_time = key_space.table("alltimehigh")
|
||||||
mv_all_objects = mv_all_time.objects.all()
|
self.assertTrue(self.check_table_size("scores", key_space, len(parameters)))
|
||||||
self.assertEqual(len(table_objects), len(parameters))
|
self.assertTrue(self.check_table_size("monthlyhigh", key_space, len(parameters)))
|
||||||
self.assertEqual(len(mv_monthly_objects), len(parameters))
|
self.assertTrue(self.check_table_size("alltimehigh", key_space, len(parameters)))
|
||||||
self.assertEqual(len(mv_all_objects), len(parameters))
|
|
||||||
|
|
||||||
filtered_mv_monthly_objects = mv_monthly.objects.filter(game='Chess', year=2015, month=6)
|
filtered_mv_monthly_objects = mv_monthly.objects.filter(game='Chess', year=2015, month=6)
|
||||||
self.assertEqual(len(filtered_mv_monthly_objects), 1)
|
self.assertEqual(len(filtered_mv_monthly_objects), 1)
|
||||||
@@ -365,3 +363,16 @@ class TestNamedWithMV(BasicSharedKeyspaceUnitTestCase):
|
|||||||
filtered_mv_alltime_objects = mv_all_time.objects.filter(game='Chess')
|
filtered_mv_alltime_objects = mv_all_time.objects.filter(game='Chess')
|
||||||
self.assertEqual(len(filtered_mv_alltime_objects), 2)
|
self.assertEqual(len(filtered_mv_alltime_objects), 2)
|
||||||
self.assertEqual(filtered_mv_alltime_objects[0]['score'], 3500)
|
self.assertEqual(filtered_mv_alltime_objects[0]['score'], 3500)
|
||||||
|
|
||||||
|
def check_table_size(self, table_name, key_space, expected_size):
|
||||||
|
table = key_space.table(table_name)
|
||||||
|
attempts = 0
|
||||||
|
while attempts < 10:
|
||||||
|
attempts += 1
|
||||||
|
table_size = len(table.objects.all())
|
||||||
|
if(table_size is not expected_size):
|
||||||
|
print("Table {0} size was {1} and was expected to be {2}".format(table_name, table_size, expected_size))
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
@@ -21,6 +21,7 @@ except ImportError:
|
|||||||
import unittest # noqa
|
import unittest # noqa
|
||||||
from cassandra import InvalidRequest
|
from cassandra import InvalidRequest
|
||||||
|
|
||||||
|
from cassandra import ConsistencyLevel
|
||||||
from cassandra.cluster import Cluster
|
from cassandra.cluster import Cluster
|
||||||
from cassandra.query import PreparedStatement, UNSET_VALUE
|
from cassandra.query import PreparedStatement, UNSET_VALUE
|
||||||
from tests.integration import get_server_versions
|
from tests.integration import get_server_versions
|
||||||
@@ -275,6 +276,7 @@ class PreparedStatementTests(unittest.TestCase):
|
|||||||
|
|
||||||
self.assertIsInstance(prepared, PreparedStatement)
|
self.assertIsInstance(prepared, PreparedStatement)
|
||||||
bound = prepared.bind(None)
|
bound = prepared.bind(None)
|
||||||
|
bound.consistency_level = ConsistencyLevel.ALL
|
||||||
self.session.execute(bound)
|
self.session.execute(bound)
|
||||||
|
|
||||||
prepared = self.session.prepare(
|
prepared = self.session.prepare(
|
||||||
@@ -284,6 +286,7 @@ class PreparedStatementTests(unittest.TestCase):
|
|||||||
self.assertIsInstance(prepared, PreparedStatement)
|
self.assertIsInstance(prepared, PreparedStatement)
|
||||||
|
|
||||||
bound = prepared.bind(None)
|
bound = prepared.bind(None)
|
||||||
|
bound.consistency_level = ConsistencyLevel.ALL
|
||||||
results = self.session.execute(bound)
|
results = self.session.execute(bound)
|
||||||
self.assertEqual(results[0].v, 0)
|
self.assertEqual(results[0].v, 0)
|
||||||
|
|
||||||
|
@@ -162,7 +162,8 @@ class QueryTests(BasicSharedKeyspaceUnitTestCase):
|
|||||||
trace = response_future._query_traces[0]
|
trace = response_future._query_traces[0]
|
||||||
|
|
||||||
# Delete trace duration from the session (this is what the driver polls for "complete")
|
# Delete trace duration from the session (this is what the driver polls for "complete")
|
||||||
self.session.execute("DELETE duration FROM system_traces.sessions WHERE session_id = %s", (trace.trace_id,))
|
delete_statement = SimpleStatement("DELETE duration FROM system_traces.sessions WHERE session_id = {}".format(trace.trace_id), consistency_level=ConsistencyLevel.ALL)
|
||||||
|
self.session.execute(delete_statement)
|
||||||
|
|
||||||
# should raise because duration is not set
|
# should raise because duration is not set
|
||||||
self.assertRaises(TraceUnavailable, trace.populate, max_wait=0.2, wait_for_complete=True)
|
self.assertRaises(TraceUnavailable, trace.populate, max_wait=0.2, wait_for_complete=True)
|
||||||
|
Reference in New Issue
Block a user