@Test
public void testRequestChannel() {

  Payload incoming = Mockito.mock(Payload.class);
  Payload transformed = ByteBufPayload.create("transformed");
  Payload outgoing = ByteBufPayload.create("outgoing");
  DefaultProteusSocket socket =
      new DefaultProteusSocket(
          payload -> transformed,
          () ->
              new AbstractRSocket() {
                @Override
                public Flux<Payload> requestChannel(Publisher<Payload> payloads) {
                  return Flux.from(payloads).thenMany(Flux.just(outgoing));
                }
              });
  Payload block = socket.requestChannel(Mono.just(incoming)).blockLast();
  Assert.assertTrue(block == outgoing);
  Mockito.verify(incoming, Mockito.times(0)).release();
}