/** * Creates a new instance that uses {@link ZipkinHttpTagStrategy#getDefaultInstance()} and {@link * RiposteWingtipsNettyClientTagAdapter#getDefaultInstance()} to do the work of span naming and tagging. */ public DefaultRiposteProxyRouterSpanNamingAndTaggingStrategy() { this(ZipkinHttpTagStrategy.getDefaultInstance(), RiposteWingtipsNettyClientTagAdapter.getDefaultInstance()); }
/** * Creates a new instance that uses {@link ZipkinHttpTagStrategy#getDefaultInstance()} and {@link * RiposteWingtipsServerTagAdapter#getDefaultInstance()} to do the work of span naming and tagging. */ public DefaultRiposteServerSpanNamingAndTaggingStrategy() { this(ZipkinHttpTagStrategy.getDefaultInstance(), RiposteWingtipsServerTagAdapter.getDefaultInstance()); }
/** * Since this class represents server requests/responses (not clients), we only want to consider HTTP status codes * greater than or equal to 500 to be an error. From a server's perspective, a 4xx response is the correct * response to a bad request, and should therefore not be considered an error (again, from the server's * perspective - the client may feel differently). * * @param response The response object. * @return The value of {@link #getResponseHttpStatus(ResponseInfo)} if it is greater than or equal to 500, * or null otherwise. */ @Override public @Nullable String getErrorResponseTagValue(@Nullable ResponseInfo<?> response) { Integer statusCode = getResponseHttpStatus(response); if (statusCode != null && statusCode >= 500) { return statusCode.toString(); } // Status code does not indicate an error, so return null. return null; }
@Test public void constructor_throws_IllegalArgumentException_if_passed_null() { // when Throwable ex = catchThrowable(() -> new RequestWithHeadersNettyAdapter(null)); // then assertThat(ex).isInstanceOf(IllegalArgumentException.class); }
@Test public void getSpanHandlerTagValue_returns_expected_value() { // expect assertThat(adapterSpy.getSpanHandlerTagValue(requestMock, responseMock)).isEqualTo("netty.httpclient"); } }
@Test public void getSpanHandlerTagValue_returns_expected_value() { // expect assertThat(adapterSpy.getSpanHandlerTagValue(requestMock, responseMock)).isEqualTo("riposte.server"); } }
@Test public void getRequestHttpMethod_returns_null_if_passed_null() { // expect assertThat(adapterSpy.getRequestHttpMethod(null)).isNull(); }
@Test public void getHeaderSingleValue_returns_null_if_passed_null_request() { // expect assertThat(adapterSpy.getHeaderSingleValue(null, "foo")).isNull(); }
@Test public void getRequestUrl_returns_null_if_passed_null() { // expect assertThat(adapterSpy.getRequestUrl(null)).isNull(); }
@Test public void getRequestUriPathTemplate_returns_null() { // when String result = adapterSpy.getRequestUriPathTemplate(requestMock, responseMock); // then assertThat(result).isNull(); }
@Test public void getHeaderSingleValue_returns_null_if_passed_null_request() { // expect assertThat(adapterSpy.getHeaderSingleValue(null, "foo")).isNull(); }
@Test public void getRequestUrl_returns_null_if_passed_null() { // expect assertThat(adapterSpy.getRequestUrl(null)).isNull(); }
@Test public void getRequestHttpMethod_returns_null_if_passed_null() { // expect assertThat(adapterSpy.getRequestHttpMethod(null)).isNull(); }
@Test public void getAttribute_returns_null() { // expect assertThat(adapter.getAttribute("foo")).isNull(); }
@Test public void getResponseHttpStatus_returns_null_if_passed_null() { // expect assertThat(adapterSpy.getResponseHttpStatus(null)).isNull(); }
/** * Creates a new instance that uses {@link ZipkinHttpTagStrategy#getDefaultInstance()} and {@link * RiposteWingtipsNettyClientTagAdapter#getDefaultInstance()} to do the work of span naming and tagging. */ public DefaultRiposteProxyRouterSpanNamingAndTaggingStrategy() { this(ZipkinHttpTagStrategy.getDefaultInstance(), RiposteWingtipsNettyClientTagAdapter.getDefaultInstance()); }
/** * Creates a new instance that uses {@link ZipkinHttpTagStrategy#getDefaultInstance()} and {@link * RiposteWingtipsServerTagAdapter#getDefaultInstance()} to do the work of span naming and tagging. */ public DefaultRiposteServerSpanNamingAndTaggingStrategy() { this(ZipkinHttpTagStrategy.getDefaultInstance(), RiposteWingtipsServerTagAdapter.getDefaultInstance()); }
@Test public void constructor_sets_fields_as_expected() { // when RequestWithHeadersNettyAdapter instance = new RequestWithHeadersNettyAdapter(requestMock); // then assertThat(instance.httpRequest).isSameAs(requestMock); }
@Test public void getDefaultInstance_returns_DEFAULT_INSTANCE() { // expect assertThat(RiposteWingtipsNettyClientTagAdapter.getDefaultInstance()) .isSameAs(RiposteWingtipsNettyClientTagAdapter.DEFAULT_INSTANCE); }
@Test public void getDefaultInstance_returns_DEFAULT_INSTANCE() { // expect assertThat(RiposteWingtipsServerTagAdapter.getDefaultInstance()) .isSameAs(RiposteWingtipsServerTagAdapter.DEFAULT_INSTANCE); }