### Question:
SnowdropKafkaConsumer implements KafkaConsumer<K, V> { @Override public Flux<PartitionInfo> partitionsFor(String topic) { if (StringUtils.isEmpty(topic)) { throw new IllegalArgumentException("Topic cannot be empty"); } return delegate.partitionsFor(topic) .convert() .with(UniReactorConverters.toMono()) .flatMapMany(Flux::fromIterable) .map(SnowdropPartitionInfo::new); } SnowdropKafkaConsumer(io.vertx.mutiny.kafka.client.consumer.KafkaConsumer<K, V> delegate); @Override Mono<Void> subscribe(String topic); @Override Mono<Void> subscribe(Collection<String> topics); @Override Mono<Void> assign(Partition partition); @Override Mono<Void> assign(Collection<Partition> partitions); @Override Mono<Void> unsubscribe(); @Override Flux<String> subscriptions(); @Override Flux<Partition> assignments(); @Override Flux<PartitionInfo> partitionsFor(String topic); @Override void partitionsRevokedHandler(Consumer<Set<Partition>> handler); @Override void partitionsAssignedHandler(Consumer<Set<Partition>> handler); @Override Mono<Void> seek(Partition partition, long offset); @Override Mono<Void> seekToBeginning(Partition partition); @Override Mono<Void> seekToBeginning(Collection<Partition> partitions); @Override Mono<Void> seekToEnd(Partition partition); @Override Mono<Void> seekToEnd(Collection<Partition> partitions); @Override Mono<Long> position(Partition partition); @Override Mono<Long> committed(Partition partition); @Override Mono<Long> beginningOffset(Partition partition); @Override Mono<Long> endOffset(Partition partition); @Override Mono<Long> timeOffset(Partition partition, long timestamp); @Override Mono<Void> commit(); @Override Mono<Void> close(); @Override @SuppressWarnings("unchecked") // SmallRye API returns KafkaConsumer without generics Mono<T> doOnVertxConsumer(Function<io.vertx.kafka.client.consumer.KafkaConsumer<K, V>, T> function); @Override Mono<ConsumerRecord<K, V>> mono(); @Override Flux<ConsumerRecord<K, V>> flux(); @Override ReadStream vertxReadStream();  }### Answer:
@Test public void shouldGetPartitionsFor() { PartitionInfo firstPartition = mock(PartitionInfo.class); PartitionInfo secondPartition = mock(PartitionInfo.class); given(mockMutinyConsumer.partitionsFor("test-topic")) .willReturn(Uni.createFrom().item(asList(firstPartition, secondPartition))); StepVerifier.create(consumer.partitionsFor("test-topic")) .expectNext(new SnowdropPartitionInfo(firstPartition)) .expectNext(new SnowdropPartitionInfo(secondPartition)) .verifyComplete(); }