@Test
public void testInboundChainNoChanges() throws Exception {

    List<Interceptor> interceptors = new ArrayList<>();
    MockInterceptor interceptor1 = new MockInterceptor();
    MockInterceptor interceptor2 = new MockInterceptor();
    interceptors.add(interceptor1);
    interceptors.add(interceptor2);
    EmbeddedChannel channel = new EmbeddedChannel(
            new ChannelDuplexHandler() {
                @Override
                public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
                    InterceptorChain chain = new InterceptorChain(ctx, interceptors, (ResourceRequest) msg);
                    chain.fireInbound();
                }
            }
    );
    ResourceRequest request = new DefaultResourceRequest.Builder(RequestType.READ, new ResourcePath("/foo/bar")).build();
    channel.writeInbound(request);
    ResourceRequest endRequest = (ResourceRequest) channel.readInbound();
    assertThat(endRequest).isNotNull();
    assertThat(interceptor1.requests()).hasSize(1);
    assertThat(interceptor1.requests()).contains(request);
    assertThat(interceptor2.requests()).hasSize(1);
    assertThat(interceptor2.requests()).contains(request);
}