.withProtocolVersion(config.getProtocolVersion());
.withProtocolVersion(V3) .withClusterName("TestCluster") .addContactPointsWithPorts(ImmutableList.of(
.withProtocolVersion(getProtocolVersion(cassandraConfig.getVersion()));
@Test(groups = "short") public void should_never_update_statement_for_conditional_updates_in_legacy_protocols() { // Given Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(ccm().getProtocolVersion(ProtocolVersion.DSE_V1)) .build()); Session session = cluster.connect(keyspace); should_never_update_statement_id_for_conditional_updates(session); } }
@Override public Cluster.Builder createClusterBuilder() { return super.createClusterBuilder().withProtocolVersion(V1); }
private Cluster connectWithVersion(ProtocolVersion version) { Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(version) .build()); cluster.init(); return cluster; }
private UnsupportedProtocolVersionException connectWithUnsupportedVersion( ProtocolVersion version) { Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(version) .build()); return initWithUnsupportedVersion(cluster); }
.withLoadBalancingPolicy(loadBalancingPolicy) .withSocketOptions(socketOptions) .withProtocolVersion(ccm().getProtocolVersion()) .build());
.addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(ccm().getProtocolVersion(ProtocolVersion.V3)) .build()); Session session = cluster.connect();
/** * Tests that, under protocol versions lesser than V4, it is NOT possible to execute a prepared * statement with unbound values. Note that we have to force protocol version to less than V4 * because higher protocol versions would allow such unbound values to be sent. * * @test_category prepared_statements:binding * @jira_ticket JAVA-777 * @since 2.2.0 */ @Test(groups = "short") public void should_not_allow_unbound_value_on_bound_statement_when_protocol_lesser_than_v4() { Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(ccm().getProtocolVersion(ProtocolVersion.V3)) .build()); Session session = cluster.connect(); try { PreparedStatement ps = session.prepare("INSERT INTO " + keyspace + "." + SIMPLE_TABLE + " (k, i) VALUES (?, ?)"); BoundStatement bs = ps.bind("foo"); assertFalse(bs.isSet("i")); session.execute(bs); fail("Should not have executed statement with UNSET values in protocol V3"); } catch (IllegalStateException e) { assertThat(e.getMessage()).contains("Unset value at index 1"); } }
/** * Verifies that the cluster builder fails when version is explicitly set and user attempts to set * beta flag. * * @jira_ticket JAVA-1248 */ @Test(groups = "short") public void should_not_initialize_when_version_explicitly_required_and_beta_flag_is_set() throws Exception { try { Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(V4) .allowBetaProtocolVersion() .build(); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { assertThat(e.getMessage()) .isEqualTo("Can't use beta flag with initial protocol version of V4"); } }
@Test(groups = "short") public void should_throw_ufe_when_protocol_version_lesser_than_4() throws Exception { try { Cluster v3cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(V3) .build()) .init(); Session v3session = v3cluster.connect(); Statement statement = new SimpleStatement("SELECT c2 FROM t1 where c1 = ?", 1); statement.setOutgoingPayload(payload1); v3session.execute(statement); fail("Should not send custom payloads with protocol V3"); } catch (UnsupportedFeatureException e) { assertThat(e.getMessage()) .isEqualTo( "Unsupported feature with the native protocol V3 (which is currently in use): Custom payloads are only supported since native protocol V4"); } }
/** * Verifies that the cluster builder fails when beta flag is set and user attempts to pass a * version explicitly. * * @jira_ticket JAVA-1248 */ @Test(groups = "short") public void should_not_initialize_when_beta_flag_is_set_and_version_explicitly_required() throws Exception { try { Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .allowBetaProtocolVersion() .withProtocolVersion(V4) .build(); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { assertThat(e.getMessage()) .isEqualTo("Can not set the version explicitly if `allowBetaProtocolVersion` was used."); } }
/** * Verifies that the driver CANNOT connect to 3.10 with the following combination of options: * Version V5 Flag UNSET * * @jira_ticket JAVA-1248 */ @Test(groups = "short") public void should_not_connect_when_beta_version_explicitly_required_and_flag_not_set() throws Exception { try { Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(V5) .build(); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { assertThat(e.getMessage()) .startsWith("Can not use V5 protocol version. Newest supported protocol version is: V4"); } }
public void useNamedValuesWithProtocol(ProtocolVersion version) { Cluster vCluster = createClusterBuilder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(version) .build(); try { Session vSession = vCluster.connect(this.keyspace); // Given - A simple statement with named parameters. SimpleStatement statement = new SimpleStatement( "SELECT * FROM users WHERE id = :id", ImmutableMap.<String, Object>of("id", 1)); // When - Executing that statement against a Cluster instance using Protocol Version V2. vSession.execute(statement).one(); // Then - Should throw an UnsupportedFeatureException } finally { vCluster.close(); } }
@Test(groups = "short") public void should_never_update_statement_for_conditional_updates_in_legacy_protocols() { // Given Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(ccm().getProtocolVersion(ProtocolVersion.V4)) .build()); Session session = cluster.connect(keyspace); should_never_update_statement_id_for_conditional_updates(session); } }
@Override public Cluster.Builder createClusterBuilder() { return super.createClusterBuilder().withProtocolVersion(V1); }
private Cluster connectWithVersion(ProtocolVersion version) { Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(version) .build()); cluster.init(); return cluster; }
private UnsupportedProtocolVersionException connectWithUnsupportedVersion( ProtocolVersion version) { Cluster cluster = register( Cluster.builder() .addContactPoints(getContactPoints()) .withPort(ccm().getBinaryPort()) .withProtocolVersion(version) .build()); return initWithUnsupportedVersion(cluster); }
builder = builder.withProtocolVersion(ProtocolVersion.fromInt(protoVer));