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 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

View File

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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)