private void executeAndVerifyCas(CassandraClient client, Map<String, Pair<byte[], byte[]>> casMap) { CqlQuery casQueryBuffer = CassandraTimestampUtils.constructCheckAndSetMultipleQuery(casMap); CqlResult casResult = executeQueryUnchecked(client, casQueryBuffer); CassandraTimestampUtils.verifyCompatible(casResult, casMap); }
@Test public void checkAndSetThrowsIfTryingToSetToNull() { assertThatThrownBy(() -> CassandraTimestampUtils.constructCheckAndSetMultipleQuery( ImmutableMap.of(COLUMN_NAME_1, Pair.create(VALUE_1, null)))) .isInstanceOf(IllegalStateException.class); }
@Test public void checkAndSetIsInsertIfNotExistsIfExpectedIsNull() { CqlQuery query = CassandraTimestampUtils.constructCheckAndSetMultipleQuery( ImmutableMap.of(COLUMN_NAME_1, Pair.create(null, VALUE_1))); assertThat(query.toString()).contains("INSERT").contains("IF NOT EXISTS;"); }
@Test public void checkAndSetIsUpdateIfEqualIfExpectedIsNotNull() { CqlQuery query = CassandraTimestampUtils.constructCheckAndSetMultipleQuery( ImmutableMap.of(COLUMN_NAME_1, Pair.create(VALUE_1, VALUE_2))); assertThat(query.toString()).contains("UPDATE").contains("IF " + CassandraTimestampUtils.VALUE_COLUMN + "="); }
@Test public void checkAndSetGeneratesBatchedStatements() { CqlQuery query = CassandraTimestampUtils.constructCheckAndSetMultipleQuery( ImmutableMap.of(COLUMN_NAME_1, Pair.create(VALUE_1, VALUE_2), COLUMN_NAME_2, Pair.create(VALUE_2, VALUE_1))); assertThat(query.toString()).contains("BEGIN UNLOGGED BATCH").contains("APPLY BATCH;"); }
private void executeAndVerifyCas(CassandraClient client, Map<String, Pair<byte[], byte[]>> casMap) { CqlQuery casQueryBuffer = CassandraTimestampUtils.constructCheckAndSetMultipleQuery(casMap); CqlResult casResult = executeQueryUnchecked(client, casQueryBuffer); CassandraTimestampUtils.verifyCompatible(casResult, casMap); }