@Before
public void beforeMethod() {
channelMock = mock(Channel.class);
channelPoolMock = mock(ChannelPool.class);
eventLoopMock = mock(EventLoop.class);
contentChunkMock = mock(HttpContent.class);
callActiveHolder = new ObjectHolder<>();
callActiveHolder.heldObject = true;
downstreamLastChunkSentHolder = new ObjectHolder<>();
downstreamLastChunkSentHolder.heldObject = false;
spanForDownstreamCallMock = mock(Span.class);
proxySpanTaggingStrategyMock = mock(ProxyRouterSpanNamingAndTaggingStrategy.class);
streamingChannelSpy = spy(new StreamingChannel(
channelMock, channelPoolMock, callActiveHolder, downstreamLastChunkSentHolder, null, null,
spanForDownstreamCallMock, proxySpanTaggingStrategyMock
));
writeAndFlushChannelFutureMock = mock(ChannelFuture.class);
doReturn(eventLoopMock).when(channelMock).eventLoop();
doReturn(writeAndFlushChannelFutureMock).when(channelMock).writeAndFlush(contentChunkMock);
channelIsBrokenAttrMock = mock(Attribute.class);
doReturn(channelIsBrokenAttrMock).when(channelMock).attr(CHANNEL_IS_BROKEN_ATTR);
streamChunkChannelPromiseMock = mock(ChannelPromise.class);
doReturn(streamChunkChannelPromiseMock).when(channelMock).newPromise();
failedFutureMock = mock(ChannelFuture.class);
doReturn(failedFutureMock).when(channelMock).newFailedFuture(any(Throwable.class));
}