WingtipsRequestSpanCompletionAsyncListener( TracingState originalRequestTracingState, HttpTagAndSpanNamingStrategy<HttpServletRequest, HttpServletResponse> tagAndNamingStrategy, HttpTagAndSpanNamingAdapter<HttpServletRequest, HttpServletResponse> tagAndNamingAdapter ) { this.originalRequestTracingState = originalRequestTracingState; // We should never get a null tag strategy or tag adapter in reality, but just in case we do, default to // the no-op impls. if (tagAndNamingStrategy == null) { tagAndNamingStrategy = NoOpHttpTagStrategy.getDefaultInstance(); } if (tagAndNamingAdapter == null) { tagAndNamingAdapter = NoOpHttpTagAdapter.getDefaultInstance(); } this.tagAndNamingStrategy = tagAndNamingStrategy; this.tagAndNamingAdapter = tagAndNamingAdapter; }
@Test public void getFinalSpanName_returns_null_and_does_nothing_else() { // when String result = implSpy.getFinalSpanName(requestMock, responseMock); // then assertThat(result).isNull(); verify(implSpy).getFinalSpanName(requestMock, responseMock); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock, responseMock); }
@Test public void getHeaderMultipleValue_returns_null_and_does_nothing_else() { // when List<String> result = implSpy.getHeaderMultipleValue(requestMock, "foo"); // then assertThat(result).isNull(); verify(implSpy).getHeaderMultipleValue(requestMock, "foo"); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock); }
@Test public void getRequestPath_returns_null_and_does_nothing_else() { // when String result = implSpy.getRequestPath(requestMock); // then assertThat(result).isNull(); verify(implSpy).getRequestPath(requestMock); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock); }
@Before public void beforeMethod() { implSpy = spy(new NoOpHttpTagAdapter<>()); requestMock = mock(Object.class); responseMock = mock(Object.class); }
@Test public void getRequestHttpMethod_returns_null_and_does_nothing_else() { // when String result = implSpy.getRequestHttpMethod(requestMock); // then assertThat(result).isNull(); verify(implSpy).getRequestHttpMethod(requestMock); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock); }
@Test public void getErrorResponseTagValue_returns_null_and_does_nothing_else() { // when String result = implSpy.getErrorResponseTagValue(responseMock); // then assertThat(result).isNull(); verify(implSpy).getErrorResponseTagValue(responseMock); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(responseMock); }
@Test public void getHeaderSingleValue_returns_null_and_does_nothing_else() { // when String result = implSpy.getHeaderSingleValue(requestMock, "foo"); // then assertThat(result).isNull(); verify(implSpy).getHeaderSingleValue(requestMock, "foo"); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock); }
@Test public void getInitialSpanName_returns_null_and_does_nothing_else() { // when String result = implSpy.getInitialSpanName(requestMock); // then assertThat(result).isNull(); verify(implSpy).getInitialSpanName(requestMock); verifyNoMoreInteractions(implSpy); verifyZeroInteractions(requestMock); }
@Test public void getDefaultInstance_returns_DEFAULT_INSTANCE() { // expect assertThat(NoOpHttpTagAdapter.getDefaultInstance()).isSameAs(NoOpHttpTagAdapter.DEFAULT_INSTANCE); }
@Test public void constructor_uses_default_NoOpHttpTagAdapter_if_passed_null_tag_adapter() { // when WingtipsRequestSpanCompletionAsyncListener impl = new WingtipsRequestSpanCompletionAsyncListener(tracingState, tagAndNamingStrategy, null); // then assertThat(impl.tagAndNamingAdapter).isSameAs(NoOpHttpTagAdapter.getDefaultInstance()); assertThat(impl.originalRequestTracingState).isSameAs(tracingState); assertThat(impl.tagAndNamingStrategy).isSameAs(tagAndNamingStrategy); }