CassandraMailboxDAO { public Flux<Mailbox> retrieveAllMailboxes() { return executor.execute(listStatement.bind()) .flatMapMany(cassandraUtils::convertToFlux) .flatMap(this::toMailboxWithId); } @Inject  CassandraMailboxDAO(Session session, CassandraTypesProvider typesProvider,
                               CassandraConsistenciesConfiguration consistenciesConfiguration,
                               CassandraUtils cassandraUtils); @VisibleForTesting  CassandraMailboxDAO(Session session, CassandraTypesProvider typesProvider,
                               CassandraConsistenciesConfiguration consistenciesConfiguration); Mono<Void> save(Mailbox mailbox); Mono<Void> updatePath(CassandraId mailboxId, MailboxPath mailboxPath); Mono<Void> delete(CassandraId mailboxId); Mono<Mailbox> retrieveMailbox(CassandraId mailboxId); Flux<Mailbox> retrieveAllMailboxes();  }
@Test void retrieveAllMailboxesShouldBeEmptyByDefault() { List<Mailbox> mailboxes = testee.retrieveAllMailboxes() .collectList() .block(); assertThat(mailboxes).isEmpty(); }