@Test public void default_constructor_creates_instance_with_default_values() { // when AsyncHttpClientHelper instance = new AsyncHttpClientHelper(); // then assertThat(instance.performSubSpanAroundDownstreamCalls).isTrue(); verifyDefaultUnderlyingClientConfig(instance); }
@Test public void setSpanNamingAndTaggingStrategy_throws_IllegalArgumentException_if_passed_null() { // given AsyncHttpClientHelper instance = new AsyncHttpClientHelper(false); // when Throwable ex = catchThrowable(() -> instance.setSpanNamingAndTaggingStrategy(null)); // then assertThat(ex) .isInstanceOf(IllegalArgumentException.class) .hasMessage("spanNamingAndTaggingStrategy cannot be null"); }
@DataProvider(value = { "true", "false" }, splitBy = "\\|") @Test public void constructor_with_subspan_opt_works_as_expected(boolean performSubspan) { // when AsyncHttpClientHelper instance = new AsyncHttpClientHelper(performSubspan); // then assertThat(instance.performSubSpanAroundDownstreamCalls).isEqualTo(performSubspan); verifyDefaultUnderlyingClientConfig(instance); }
@Test public void fluent_setters_work_as_expected() { // when AsyncHttpClientHelper instance = new AsyncHttpClientHelper(false); assertThat(instance.performSubSpanAroundDownstreamCalls).isFalse(); AsyncHttpClientHelper result = instance.setPerformSubSpanAroundDownstreamCalls(true) .setDefaultSignatureCalculator(signatureCalculator) .setSpanNamingAndTaggingStrategy(tagAndNamingStrategy); // then assertThat(result).isSameAs(instance); assertThat(instance.performSubSpanAroundDownstreamCalls).isTrue(); assertThat(Whitebox.getInternalState(instance.asyncHttpClient, "signatureCalculator")).isEqualTo(signatureCalculator); assertThat(instance.spanNamingAndTaggingStrategy).isSameAs(tagAndNamingStrategy); }
); helperSpy = spy(new AsyncHttpClientHelper().setSpanNamingAndTaggingStrategy(tagAndNamingStrategy)); channelMock = mock(Channel.class); ctxMock = mock(ChannelHandlerContext.class);
@DataProvider(value = { "true", "false" }, splitBy = "\\|") @Test public void kitchen_sink_constructor_sets_up_underlying_client_with_expected_config(boolean performSubspan) { // given int customRequestTimeoutVal = 4242; AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setRequestTimeout(customRequestTimeoutVal).build(); AsyncHttpClientConfig.Builder builderMock = mock(AsyncHttpClientConfig.Builder.class); doReturn(config).when(builderMock).build(); // when AsyncHttpClientHelper instance = new AsyncHttpClientHelper(builderMock, performSubspan); // then assertThat(instance.performSubSpanAroundDownstreamCalls).isEqualTo(performSubspan); assertThat(instance.asyncHttpClient.getConfig()).isSameAs(config); assertThat(instance.asyncHttpClient.getConfig().getRequestTimeout()).isEqualTo(customRequestTimeoutVal); }
Throwable ex = catchThrowable(() -> new AsyncHttpClientHelper(builderMock, true));
public void verify_basic_functionality(boolean surroundWithSubspan, boolean parentSpanExists) throws Exception { AsyncHttpClientHelper asyncClient = new AsyncHttpClientHelper(surroundWithSubspan);
) { AsyncHttpClientHelper asyncClient = new AsyncHttpClientHelper(surroundWithSubspan);