Skip to content

Commit 19514c6

Browse files
committed
Fix some minor test failures: virtual tables, replaced time.sleep by wait_until..
1 parent 8fd0119 commit 19514c6

File tree

5 files changed

+27
-12
lines changed

5 files changed

+27
-12
lines changed

build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ cassandra:
162162
- 'dse-5.1'
163163
- 'dse-6.0'
164164
- 'dse-6.7'
165-
- 'dse-6.8'
165+
- 'dse-6.8.0'
166166

167167
env:
168168
CYTHON:

cassandra/metadata.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,7 +1407,6 @@ def _make_option_strings(cls, options_map):
14071407
return list(sorted(ret))
14081408

14091409

1410-
# TODO This should inherit V4 later?
14111410
class TableMetadataDSE68(TableMetadataV3):
14121411

14131412
vertex = None
@@ -2932,7 +2931,7 @@ def _query_all(self):
29322931
QueryMessage(query=self._SELECT_VIRTUAL_KEYSPACES, consistency_level=cl),
29332932
QueryMessage(query=self._SELECT_VIRTUAL_TABLES, consistency_level=cl),
29342933
QueryMessage(query=self._SELECT_VIRTUAL_COLUMNS, consistency_level=cl),
2935-
# dse7.0 only
2934+
# dse6.8 only
29362935
QueryMessage(query=self._SELECT_VERTICES, consistency_level=cl),
29372936
QueryMessage(query=self._SELECT_EDGES, consistency_level=cl)
29382937
]
@@ -2969,12 +2968,21 @@ def _query_all(self):
29692968
self.indexes_result = self._handle_results(indexes_success, indexes_result)
29702969
self.views_result = self._handle_results(views_success, views_result)
29712970

2972-
self.virtual_keyspaces_result = self._handle_results(virtual_ks_success,
2973-
virtual_ks_result)
2974-
self.virtual_tables_result = self._handle_results(virtual_table_success,
2975-
virtual_table_result)
2976-
self.virtual_columns_result = self._handle_results(virtual_column_success,
2977-
virtual_column_result)
2971+
# These tables don't exist in some DSE versions reporting 4.X so we can
2972+
# ignore them if we got an error
2973+
self.virtual_keyspaces_result = self._handle_results(
2974+
virtual_ks_success, virtual_ks_result,
2975+
expected_failures=(InvalidRequest,)
2976+
)
2977+
self.virtual_tables_result = self._handle_results(
2978+
virtual_table_success, virtual_table_result,
2979+
expected_failures=(InvalidRequest,)
2980+
)
2981+
self.virtual_columns_result = self._handle_results(
2982+
virtual_column_success, virtual_column_result,
2983+
expected_failures=(InvalidRequest,)
2984+
)
2985+
29782986
# dse6.8-only results
29792987
self.vertices_result = self._handle_results(vertices_success, vertices_result)
29802988
self.edges_result = self._handle_results(edges_success, edges_result)

tests/integration/advanced/graph/fluent/test_graph.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from gremlin_python.structure.graph import Edge as TravEdge
3232
from gremlin_python.structure.graph import Vertex as TravVertex, VertexProperty as TravVertexProperty
3333

34+
from tests.util import wait_until_not_raised
3435
from tests.integration import DSE_VERSION, greaterthanorequaldse68
3536
from tests.integration.advanced.graph import GraphUnitTestCase, \
3637
ClassicGraphSchema, CoreGraphSchema, \
@@ -509,8 +510,10 @@ def __test_udt(self, schema, graphson, address_class, address_with_tags_class,
509510
property('owners', frozen(listOf(tupleOf(Text, Int)))).create();
510511
""", execution_profile=ep)
511512

512-
time.sleep(2) # wait the UDT to be discovered
513-
self.session.cluster.register_user_type(self.graph_name, 'address', Address)
513+
# wait max 10 seconds to get the UDT discovered.
514+
wait_until_not_raised(
515+
lambda: self.session.cluster.register_user_type(self.graph_name, 'address', Address),
516+
1, 10)
514517
self.session.cluster.register_user_type(self.graph_name, 'addressTags', AddressWithTags)
515518
self.session.cluster.register_user_type(self.graph_name, 'complexAddress', ComplexAddress)
516519
self.session.cluster.register_user_type(self.graph_name, 'complexAddressWithOwners', ComplexAddressWithOwners)

tests/integration/advanced/graph/test_graph_query.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ def test_profile_graph_options(self):
161161
s.execute_graph(statement, execution_profile=ep)
162162
except NoHostAvailable:
163163
self.assertTrue(DSE_VERSION >= Version("6.0"))
164+
except InvalidRequest:
165+
self.assertTrue(DSE_VERSION >= Version("5.1"))
164166
else:
165167
if DSE_VERSION < Version("6.8"): # >6.8 returns true
166168
self.fail("Should have risen ServerError or InvalidRequest")

tests/integration/simulacron/utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,9 @@ def prime_driver_defaults():
358358
# prepare empty rows for NGDG
359359
for query in [SchemaParserDSE68._SELECT_VERTICES,
360360
SchemaParserDSE68._SELECT_EDGES]:
361-
PrimeQuery(query, result='success', then={'rows': [], 'column_types': {'row1': 'int'}})
361+
client_simulacron.submit_request(
362+
PrimeQuery(query, result='success',
363+
then={'rows': [], 'column_types': {'row1': 'int'}}))
362364

363365

364366
def prime_cluster(data_centers="3", version=None, cluster_name=DEFAULT_CLUSTER, dse_version=None):

0 commit comments

Comments
 (0)