CassandraSchemaVersionDAO { public Mono<Optional<SchemaVersion>> getCurrentSchemaVersion() { return cassandraAsyncExecutor.executeRows(readVersionStatement.bind()) .map(row -> row.getInt(VALUE)) .reduce(Math::max) .map(SchemaVersion::new) .map(Optional::of) .defaultIfEmpty(Optional.empty()); } @Inject  CassandraSchemaVersionDAO(Session session); Mono<Optional<SchemaVersion>> getCurrentSchemaVersion(); Mono<Void> updateVersion(SchemaVersion newVersion); @VisibleForTesting Mono<Void> truncateVersion();  }
@Test void getCurrentSchemaVersionShouldReturnEmptyWhenTableIsEmpty() { assertThat(testee.getCurrentSchemaVersion().block()) .isEqualTo(Optional.empty()); }