Skip to content

Commit 46b7abb

Browse files
committed
1
1 parent 8bc472a commit 46b7abb

32 files changed

+236
-311
lines changed

integration-tests/src/test/java/com/datastax/oss/driver/core/ProtocolVersionInitialNegotiationIT.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import com.datastax.oss.driver.api.core.UnsupportedProtocolVersionException;
3535
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
3636
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
37-
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
3837
import com.datastax.oss.driver.api.testinfra.ccm.CcmRule;
3938
import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement;
4039
import com.datastax.oss.driver.api.testinfra.requirement.BackendType;
@@ -77,6 +76,7 @@ public void should_downgrade_to_v3() {
7776
minInclusive = "5.0",
7877
maxExclusive = "5.1",
7978
description = "Only DSE in [5.0,5.1[ has V4 as its highest version")
79+
@BackendRequirement(type = BackendType.SCYLLA)
8080
@Test
8181
public void should_downgrade_to_v4() {
8282
try (CqlSession session = SessionUtils.newSession(ccm)) {
@@ -90,9 +90,6 @@ public void should_downgrade_to_v4() {
9090
minInclusive = "4.0-rc1",
9191
description = "Only C* in [4.0-rc1,*[ has V5 as its highest version")
9292
@Test
93-
@ScyllaSkip(
94-
description =
95-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
9693
public void should_downgrade_to_v5_oss() {
9794
try (CqlSession session = SessionUtils.newSession(ccm)) {
9895
assertThat(session.getContext().getProtocolVersion().getCode()).isEqualTo(5);
@@ -216,9 +213,6 @@ public void should_fail_if_provided_dse_v2_is_not_supported() {
216213
minInclusive = "4.0",
217214
description = "Only C* in [4.0,*[ has V5 supported")
218215
@Test
219-
@ScyllaSkip(
220-
description =
221-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
222216
public void should_not_downgrade_if_server_supports_latest_version() {
223217
try (CqlSession session = SessionUtils.newSession(ccm)) {
224218
assertThat(session.getContext().getProtocolVersion()).isEqualTo(ProtocolVersion.V5);
@@ -247,6 +241,7 @@ public void should_not_downgrade_if_server_supports_latest_version_dse() {
247241
type = BackendType.DSE,
248242
minInclusive = "4.8",
249243
description = "Only DSE in [4.8,*[ has V3 supported")
244+
@BackendRequirement(type = BackendType.SCYLLA)
250245
@Test
251246
public void should_use_explicitly_provided_v3() {
252247
DriverConfigLoader loader =
@@ -267,6 +262,7 @@ public void should_use_explicitly_provided_v3() {
267262
type = BackendType.DSE,
268263
minInclusive = "5.0",
269264
description = "Only DSE in [5.0,*[ has V4 supported")
265+
@BackendRequirement(type = BackendType.SCYLLA)
270266
@Test
271267
public void should_use_explicitly_provided_v4() {
272268
DriverConfigLoader loader =
@@ -288,9 +284,6 @@ public void should_use_explicitly_provided_v4() {
288284
minInclusive = "7.0",
289285
description = "Only DSE in [7.0,*[ has V5 supported")
290286
@Test
291-
@ScyllaSkip(
292-
description =
293-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
294287
public void should_use_explicitly_provided_v5() {
295288
DriverConfigLoader loader =
296289
SessionUtils.configLoaderBuilder()

integration-tests/src/test/java/com/datastax/oss/driver/core/auth/PlainTextAuthProviderIT.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@
3131
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
3232
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
3333
import com.datastax.oss.driver.api.core.session.SessionBuilder;
34-
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
34+
import com.datastax.oss.driver.api.testinfra.ccm.CcmBridge;
3535
import com.datastax.oss.driver.api.testinfra.ccm.CustomCcmRule;
36+
import com.datastax.oss.driver.api.testinfra.requirement.BackendType;
3637
import com.datastax.oss.driver.api.testinfra.session.SessionUtils;
3738
import com.datastax.oss.driver.internal.core.auth.PlainTextAuthProvider;
3839
import com.datastax.oss.driver.shaded.guava.common.util.concurrent.Uninterruptibles;
@@ -41,16 +42,19 @@
4142
import org.junit.ClassRule;
4243
import org.junit.Test;
4344

44-
@ScyllaSkip(
45-
description = "@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaJVMArgs")
4645
public class PlainTextAuthProviderIT {
4746

48-
@ClassRule
49-
public static final CustomCcmRule CCM_RULE =
50-
CustomCcmRule.builder()
51-
.withCassandraConfiguration("authenticator", "PasswordAuthenticator")
52-
.withJvmArgs("-Dcassandra.superuser_setup_delay_ms=0")
53-
.build();
47+
@ClassRule public static final CustomCcmRule CCM_RULE = getCCMRule();
48+
49+
private static CustomCcmRule getCCMRule() {
50+
CustomCcmRule.Builder builder =
51+
CustomCcmRule.builder()
52+
.withCassandraConfiguration("authenticator", "PasswordAuthenticator");
53+
if (!CcmBridge.isDistributionOf(BackendType.SCYLLA)) {
54+
builder = builder.withJvmArgs("-Dcassandra.superuser_setup_delay_ms=0");
55+
}
56+
return builder.build();
57+
}
5458

5559
@BeforeClass
5660
public static void sleepForAuth() {

integration-tests/src/test/java/com/datastax/oss/driver/core/connection/NettyResourceLeakDetectionIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ public void should_not_leak_compressed_lz4() {
133133
type = BackendType.CASSANDRA,
134134
maxExclusive = "4.0.0",
135135
description = "Snappy is not supported in OSS C* 4.0+ with protocol v5")
136+
@BackendRequirement(type = BackendType.SCYLLA)
136137
@Test
137138
public void should_not_leak_compressed_snappy() {
138139
DriverConfigLoader loader =

integration-tests/src/test/java/com/datastax/oss/driver/core/cql/BatchStatementIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ public void should_execute_batch_of_bound_statements_with_variables() {
168168

169169
@Test
170170
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
171+
@BackendRequirement(type = BackendType.SCYLLA)
171172
public void should_execute_batch_of_bound_statements_with_unset_values() {
172173
// Build a batch of batchCount statements with bound statements, each with their own positional
173174
// variables.

integration-tests/src/test/java/com/datastax/oss/driver/core/cql/BoundStatementCcmIT.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.assertj.core.api.Assertions.assertThat;
2727
import static org.assertj.core.api.Assertions.assertThatThrownBy;
2828
import static org.assertj.core.api.Assumptions.assumeThat;
29+
import static org.junit.Assert.assertThrows;
2930

3031
import com.datastax.oss.driver.api.core.CQL4SkipMetadataResolveMethod;
3132
import com.datastax.oss.driver.api.core.ConsistencyLevel;
@@ -48,6 +49,7 @@
4849
import com.datastax.oss.driver.api.core.metadata.token.Token;
4950
import com.datastax.oss.driver.api.core.type.codec.TypeCodecs;
5051
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
52+
import com.datastax.oss.driver.api.testinfra.ccm.CcmBridge;
5153
import com.datastax.oss.driver.api.testinfra.ccm.CcmRule;
5254
import com.datastax.oss.driver.api.testinfra.ccm.SchemaChangeSynchronizer;
5355
import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement;
@@ -301,7 +303,7 @@ public void should_use_page_size() {
301303
}
302304

303305
@Test
304-
@ScyllaSkip(description = "@IntegrationTestDisabledScyllaFailure")
306+
@ScyllaSkip(description = "scylladb/scylla-driver#567 - fails by unknown reason")
305307
public void should_propagate_attributes_when_preparing_a_simple_statement() {
306308
CqlSession session = sessionRule.session();
307309

@@ -381,6 +383,7 @@ public void should_propagate_attributes_when_preparing_a_simple_statement() {
381383
// Test for JAVA-2066
382384
@Test
383385
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
386+
@BackendRequirement(type = BackendType.SCYLLA)
384387
public void should_compute_routing_key_when_indices_randomly_distributed() {
385388
try (CqlSession session = SessionUtils.newSession(ccmRule, sessionRule.keyspace())) {
386389

@@ -398,13 +401,24 @@ public void should_compute_routing_key_when_indices_randomly_distributed() {
398401
}
399402

400403
@Test
401-
@ScyllaSkip /* Skipping due to https://github.com/scylladb/scylla/issues/10956. */
402404
public void should_set_all_occurrences_of_variable() {
403405
CqlSession session = sessionRule.session();
404406
PreparedStatement ps = session.prepare("INSERT INTO test3 (pk1, pk2, v) VALUES (:i, :i, :i)");
405407

406408
CqlIdentifier id = CqlIdentifier.fromCql("i");
407409
ColumnDefinitions variableDefinitions = ps.getVariableDefinitions();
410+
if (CcmBridge.isDistributionOf(BackendType.SCYLLA)) {
411+
assertThat(variableDefinitions.allIndicesOf(id)).containsExactly(0);
412+
assertThrows(
413+
Exception.class, () -> should_set_all_occurrences_of_variable(ps.bind().setInt(id, 12)));
414+
assertThrows(
415+
Exception.class,
416+
() ->
417+
should_set_all_occurrences_of_variable(
418+
ps.boundStatementBuilder().setInt(id, 12).build()));
419+
return;
420+
}
421+
408422
assertThat(variableDefinitions.allIndicesOf(id)).containsExactly(0, 1, 2);
409423

410424
should_set_all_occurrences_of_variable(ps.bind().setInt(id, 12));

integration-tests/src/test/java/com/datastax/oss/driver/core/cql/ExecutionInfoWarningsIT.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.datastax.oss.driver.core.cql;
2525

2626
import static org.assertj.core.api.Assertions.assertThat;
27+
import static org.mockito.ArgumentMatchers.any;
2728
import static org.mockito.Mockito.timeout;
2829
import static org.mockito.Mockito.verify;
2930

@@ -37,7 +38,7 @@
3738
import com.datastax.oss.driver.api.core.cql.ResultSet;
3839
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
3940
import com.datastax.oss.driver.api.core.cql.Statement;
40-
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
41+
import com.datastax.oss.driver.api.testinfra.ccm.CcmBridge;
4142
import com.datastax.oss.driver.api.testinfra.ccm.CustomCcmRule;
4243
import com.datastax.oss.driver.api.testinfra.ccm.SchemaChangeSynchronizer;
4344
import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement;
@@ -131,9 +132,7 @@ public void cleanupLogger() {
131132

132133
@Test
133134
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "3.0")
134-
@ScyllaSkip(
135-
description =
136-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaDifferentText")
135+
@BackendRequirement(type = BackendType.SCYLLA)
137136
public void should_execute_query_and_log_server_side_warnings() {
138137
final String query = "SELECT count(*) FROM test;";
139138
Statement<?> st = SimpleStatement.builder(query).build();
@@ -142,6 +141,11 @@ public void should_execute_query_and_log_server_side_warnings() {
142141
ExecutionInfo executionInfo = result.getExecutionInfo();
143142
assertThat(executionInfo).isNotNull();
144143
List<String> warnings = executionInfo.getWarnings();
144+
if (CcmBridge.isDistributionOf(BackendType.SCYLLA)) {
145+
assertThat(warnings).isEmpty();
146+
verify(appender, timeout(500).times(0)).doAppend(any());
147+
return;
148+
}
145149
assertThat(warnings).isNotEmpty();
146150
String warning = warnings.get(0);
147151
assertThat(warning).isEqualTo("Aggregation query used without partition key");
@@ -158,9 +162,7 @@ public void should_execute_query_and_log_server_side_warnings() {
158162

159163
@Test
160164
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "3.0")
161-
@ScyllaSkip(
162-
description =
163-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaDifferentText")
165+
@BackendRequirement(type = BackendType.SCYLLA)
164166
public void should_execute_query_and_not_log_server_side_warnings() {
165167
final String query = "SELECT count(*) FROM test;";
166168
Statement<?> st =
@@ -170,6 +172,11 @@ public void should_execute_query_and_not_log_server_side_warnings() {
170172
ExecutionInfo executionInfo = result.getExecutionInfo();
171173
assertThat(executionInfo).isNotNull();
172174
List<String> warnings = executionInfo.getWarnings();
175+
if (CcmBridge.isDistributionOf(BackendType.SCYLLA)) {
176+
assertThat(warnings).isEmpty();
177+
verify(appender, timeout(500).times(0)).doAppend(any());
178+
return;
179+
}
173180
assertThat(warnings).isNotEmpty();
174181
String warning = warnings.get(0);
175182
assertThat(warning).isEqualTo("Aggregation query used without partition key");
@@ -179,9 +186,7 @@ public void should_execute_query_and_not_log_server_side_warnings() {
179186

180187
@Test
181188
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
182-
@ScyllaSkip(
183-
description =
184-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaDifferentText")
189+
@BackendRequirement(type = BackendType.SCYLLA)
185190
public void should_expose_warnings_on_execution_info() {
186191
// the default batch size warn threshold is 5 * 1024 bytes, but after CASSANDRA-10876 there must
187192
// be multiple mutations in a batch to trigger this warning so the batch includes 2 different
@@ -198,6 +203,11 @@ public void should_expose_warnings_on_execution_info() {
198203
ExecutionInfo executionInfo = result.getExecutionInfo();
199204
assertThat(executionInfo).isNotNull();
200205
List<String> warnings = executionInfo.getWarnings();
206+
if (CcmBridge.isDistributionOf(BackendType.SCYLLA)) {
207+
assertThat(warnings).isEmpty();
208+
verify(appender, timeout(500).times(0)).doAppend(any());
209+
return;
210+
}
201211
assertThat(warnings).isNotEmpty();
202212
// verify the log was generated
203213
verify(appender, timeout(500).atLeast(1)).doAppend(loggingEventCaptor.capture());

integration-tests/src/test/java/com/datastax/oss/driver/core/cql/NowInSecondsIT.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.datastax.oss.driver.api.core.cql.ResultSet;
2727
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
2828
import com.datastax.oss.driver.api.core.cql.Statement;
29-
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
3029
import com.datastax.oss.driver.api.testinfra.ccm.CcmRule;
3130
import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement;
3231
import com.datastax.oss.driver.api.testinfra.requirement.BackendType;
@@ -48,9 +47,6 @@
4847
type = BackendType.DSE,
4948
minInclusive = "7.0",
5049
description = "Feature not available in DSE yet")
51-
@ScyllaSkip(
52-
description =
53-
"Scylla keeps negotiating protocol version v4, but \"Can't use nowInSeconds with protocol V4\". Remove skip once Scylla supports protocol version v5.")
5450
public class NowInSecondsIT {
5551

5652
private static final CcmRule CCM_RULE = CcmRule.getInstance();

integration-tests/src/test/java/com/datastax/oss/driver/core/cql/PerRequestKeyspaceIT.java

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import com.datastax.oss.driver.api.core.cql.Row;
3737
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
3838
import com.datastax.oss.driver.api.core.cql.Statement;
39-
import com.datastax.oss.driver.api.testinfra.ScyllaSkip;
4039
import com.datastax.oss.driver.api.testinfra.ccm.CcmRule;
4140
import com.datastax.oss.driver.api.testinfra.ccm.SchemaChangeSynchronizer;
4241
import com.datastax.oss.driver.api.testinfra.requirement.BackendRequirement;
@@ -89,13 +88,15 @@ public void setupSchema() {
8988

9089
@Test
9190
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
91+
@BackendRequirement(type = BackendType.SCYLLA)
9292
public void should_reject_simple_statement_with_keyspace_in_protocol_v4() {
9393
should_reject_statement_with_keyspace_in_protocol_v4(
9494
SimpleStatement.newInstance("SELECT * FROM foo").setKeyspace(sessionRule.keyspace()));
9595
}
9696

9797
@Test
9898
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
99+
@BackendRequirement(type = BackendType.SCYLLA)
99100
public void should_reject_batch_statement_with_explicit_keyspace_in_protocol_v4() {
100101
SimpleStatement statementWithoutKeyspace =
101102
SimpleStatement.newInstance(
@@ -109,6 +110,7 @@ public void should_reject_batch_statement_with_explicit_keyspace_in_protocol_v4(
109110

110111
@Test
111112
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "2.2")
113+
@BackendRequirement(type = BackendType.SCYLLA)
112114
public void should_reject_batch_statement_with_inferred_keyspace_in_protocol_v4() {
113115
SimpleStatement statementWithKeyspace =
114116
SimpleStatement.newInstance(
@@ -135,9 +137,6 @@ private void should_reject_statement_with_keyspace_in_protocol_v4(Statement stat
135137

136138
@Test
137139
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "4.0")
138-
@ScyllaSkip(
139-
description =
140-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
141140
public void should_execute_simple_statement_with_keyspace() {
142141
CqlSession session = sessionRule.session();
143142
session.execute(
@@ -156,9 +155,6 @@ public void should_execute_simple_statement_with_keyspace() {
156155

157156
@Test
158157
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "4.0")
159-
@ScyllaSkip(
160-
description =
161-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
162158
public void should_execute_batch_with_explicit_keyspace() {
163159
CqlSession session = sessionRule.session();
164160
session.execute(
@@ -183,9 +179,6 @@ public void should_execute_batch_with_explicit_keyspace() {
183179

184180
@Test
185181
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "4.0")
186-
@ScyllaSkip(
187-
description =
188-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
189182
public void should_execute_batch_with_inferred_keyspace() {
190183
CqlSession session = sessionRule.session();
191184
session.execute(
@@ -218,9 +211,6 @@ public void should_execute_batch_with_inferred_keyspace() {
218211

219212
@Test
220213
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "4.0")
221-
@ScyllaSkip(
222-
description =
223-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
224214
public void should_prepare_statement_with_keyspace() {
225215
CqlSession session = sessionRule.session();
226216
PreparedStatement prepared =
@@ -241,9 +231,6 @@ public void should_prepare_statement_with_keyspace() {
241231

242232
@Test
243233
@BackendRequirement(type = BackendType.CASSANDRA, minInclusive = "4.0")
244-
@ScyllaSkip(
245-
description =
246-
"@IntegrationTestDisabledScyllaFailure @IntegrationTestDisabledScyllaUnsupportedFunctionality @IntegrationTestDisabledScyllaProtocolV5")
247234
public void should_reprepare_statement_with_keyspace_on_the_fly() {
248235
// Create a separate session because we don't want it to have a default keyspace
249236
SchemaChangeSynchronizer.withLock(

0 commit comments

Comments
 (0)