Fixing timing, dependency and CL issues in tests.

This commit is contained in:
GregBestland
2015-12-03 13:53:19 -06:00
parent a001257c55
commit 379f6a3aa7
5 changed files with 24 additions and 11 deletions

View File

@@ -19,7 +19,6 @@ build:
export JAVA_HOME=$CCM_JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
sudo python /home/jenkins/ccm/setup.py install
# Install dependencies
if [[ $EVENT_LOOP_MANAGER == 'libev' ]]; then
sudo apt-get install -y libev4 libev-dev

View File

@@ -1,5 +1,4 @@
-r requirements.txt
blist
scales
nose
mock<=1.0.1

View File

@@ -17,7 +17,8 @@ try:
except ImportError:
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.operators import EqualsOperator, GreaterThanOrEqualOperator
from cassandra.cqlengine.query import ResultObject
@@ -343,20 +344,17 @@ class TestNamedWithMV(BasicSharedKeyspaceUnitTestCase):
('jbellis', 'Checkers', 2015, 6, 20, 1200),
('jbellis', 'Chess', 2015, 6, 21, 3500),
('pcmanus', 'Chess', 2015, 1, 25, 3200)}
prepared_insert.consistency_level = ConsistencyLevel.ALL
execute_concurrent_with_args(self.session, prepared_insert, parameters)
# Attempt to query the data using Named Table interface
# Also test filtering on mv's
key_space = NamedKeyspace(ks)
table = key_space.table("scores")
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_objects = mv_all_time.objects.all()
self.assertEqual(len(table_objects), len(parameters))
self.assertEqual(len(mv_monthly_objects), len(parameters))
self.assertEqual(len(mv_all_objects), len(parameters))
self.assertTrue(self.check_table_size("scores", key_space, len(parameters)))
self.assertTrue(self.check_table_size("monthlyhigh", key_space, len(parameters)))
self.assertTrue(self.check_table_size("alltimehigh", key_space, len(parameters)))
filtered_mv_monthly_objects = mv_monthly.objects.filter(game='Chess', year=2015, month=6)
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')
self.assertEqual(len(filtered_mv_alltime_objects), 2)
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

View File

@@ -21,6 +21,7 @@ except ImportError:
import unittest # noqa
from cassandra import InvalidRequest
from cassandra import ConsistencyLevel
from cassandra.cluster import Cluster
from cassandra.query import PreparedStatement, UNSET_VALUE
from tests.integration import get_server_versions
@@ -275,6 +276,7 @@ class PreparedStatementTests(unittest.TestCase):
self.assertIsInstance(prepared, PreparedStatement)
bound = prepared.bind(None)
bound.consistency_level = ConsistencyLevel.ALL
self.session.execute(bound)
prepared = self.session.prepare(
@@ -284,6 +286,7 @@ class PreparedStatementTests(unittest.TestCase):
self.assertIsInstance(prepared, PreparedStatement)
bound = prepared.bind(None)
bound.consistency_level = ConsistencyLevel.ALL
results = self.session.execute(bound)
self.assertEqual(results[0].v, 0)

View File

@@ -162,7 +162,8 @@ class QueryTests(BasicSharedKeyspaceUnitTestCase):
trace = response_future._query_traces[0]
# 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
self.assertRaises(TraceUnavailable, trace.populate, max_wait=0.2, wait_for_complete=True)