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 unappliedResultIsIncompatibleIfWeHaveMissingRows() { CqlResult mockResult = createMockCqlResult( ImmutableList.of( createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_1, VALUE_1)))); assertThatThrownBy(() -> CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS)) .isInstanceOf(IllegalStateException.class); }
@Test public void unappliedResultIsIncompatibleIfTheStateOfTheWorldMatchesExpecteds() { CqlResult mockResult = createMockCqlResult( ImmutableList.of( createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_1, EMPTY_BYTE_ARRAY)), createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_2, EMPTY_BYTE_ARRAY)))); assertThatThrownBy(() -> CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS)) .isInstanceOf(IllegalStateException.class); }
@Test public void appliedResultIsCompatible() { CqlResult mockResult = createMockCqlResult( ImmutableList.of(createMockCqlRow(buildAppliedColumnList()))); CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS); }
@Test public void unappliedResultIsIncompatibleIfTheStateOfTheWorldIsIncorrect() { CqlResult mockResult = createMockCqlResult( ImmutableList.of( createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_1, VALUE_2)), createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_2, VALUE_1)))); assertThatThrownBy(() -> CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS)) .isInstanceOf(IllegalStateException.class); }
@Test public void unappliedResultIsCompatibleIfTheStateOfTheWorldMatchesTargets() { CqlResult mockResult = createMockCqlResult( ImmutableList.of( createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_1, VALUE_1)), createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_2, VALUE_2)))); CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS); }
@Test public void unappliedResultIsCompatibleIfWeHaveExtraRows() { CqlResult mockResult = createMockCqlResult( ImmutableList.of( createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_1, VALUE_1)), createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_2, VALUE_2)), createMockCqlRow(buildUnappliedColumnList(COLUMN_BYTES_3, VALUE_3)))); CassandraTimestampUtils.verifyCompatible(mockResult, CAS_MAP_TWO_COLUMNS); }
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); }