@Override public SELF isSameAs(Object expected) { return super.isSameAs(expected); }
@Override public SELF isSameAs(Object expected) { return super.isSameAs(expected); }
@Test public void always_return_same_object() { // Test because of Bug #211 DocumentContext context = using(JACKSON_JSON_NODE_CONFIGURATION).parse(JSON_DOCUMENT); ObjectNode node1 = context.read("$"); ObjectNode child1 = new ObjectNode(JsonNodeFactory.instance); child1.put("name", "test"); context.put("$", "child", child1); ObjectNode node2 = context.read("$"); ObjectNode child2 = context.read("$.child"); assertThat(node1).isSameAs(node2); assertThat(child1).isSameAs(child2); }
@Test public void constructor_sets_fields_as_expected() { // when TracingState tracingState = new TracingState(spanStackMock, mdcInfoMock); // then assertThat(tracingState.spanStack).isSameAs(spanStackMock); assertThat(tracingState.mdcInfo).isSameAs(mdcInfoMock); }
@DataProvider(value = { "true", "false" }, splitBy = "\\|") @Test public void convenience_constructor_sets_fields_and_kicks_off_scheduled_job_as_expected(boolean compressPayloadOpt) throws MalformedURLException { // given String baseUrl = "http://localhost:4242"; final ScheduledExecutorService schedulerMock = mock(ScheduledExecutorService.class); // when ZipkinSpanSenderDefaultHttpImpl impl = new ZipkinSpanSenderDefaultHttpImpl(baseUrl, compressPayloadOpt) { @Override protected ScheduledExecutorService configureScheduledExecutorServiceForBatching() { return schedulerMock; } }; // then assertThat(impl.postZipkinSpansUrl).isEqualTo(new URL(baseUrl + "/api/v1/spans")); assertThat(impl.compressZipkinSpanPayload).isEqualTo(compressPayloadOpt); assertThat(impl.connectTimeoutMillis).isEqualTo(ZipkinSpanSenderDefaultHttpImpl.DEFAULT_CONNECT_TIMEOUT_MILLIS); assertThat(impl.readTimeoutMillis).isEqualTo(ZipkinSpanSenderDefaultHttpImpl.DEFAULT_READ_TIMEOUT_MILLIS); assertThat(impl.senderJob).isNotNull(); assertThat(impl.senderJob.zipkinSpanSender).isSameAs(impl); assertThat(impl.senderJob.zipkinSpanSendingQueue).isSameAs(impl.zipkinSpanSendingQueue); verify(schedulerMock).scheduleAtFixedRate(impl.senderJob, ZipkinSpanSenderDefaultHttpImpl.DEFAULT_SPAN_BATCH_SENDING_PERIOD_MILLIS, ZipkinSpanSenderDefaultHttpImpl.DEFAULT_SPAN_BATCH_SENDING_PERIOD_MILLIS, TimeUnit.MILLISECONDS); }
@Test public void pair_methods_work_as_expected() { // expect assertThat(tracingState.getLeft()).isSameAs(spanStackMock); assertThat(tracingState.getKey()).isSameAs(spanStackMock); assertThat(tracingState.getRight()).isSameAs(mdcInfoMock); assertThat(tracingState.getValue()).isSameAs(mdcInfoMock); }
assertThat(impl.senderJob.zipkinSpanSendingQueue).isSameAs(impl.zipkinSpanSendingQueue);
@Test public void constructor_sets_fields_based_on_incoming_args() { // when RoutingHandler theHandler = new RoutingHandler(endpoints, maxRequestSizeInBytes); // then Collection<Endpoint<?>> actualEndpoints = (Collection<Endpoint<?>>) Whitebox.getInternalState(theHandler, "endpoints"); assertThat(actualEndpoints).isSameAs(endpoints); }
@Test @UseDataProvider("spanStackDataProvider") public void starting_a_request_should_reset_span_stack_no_matter_what_the_span_stack_already_looked_like(Deque<Span> stackToUse) { // given getSpanStackThreadLocal().set(stackToUse); assertThat(getSpanStackFromTracer()).isSameAs(stackToUse); String newRequestSpanName = UUID.randomUUID().toString(); // when Span newRequestSpan = Tracer.getInstance().startRequestWithRootSpan(newRequestSpanName); // then assertThat(getSpanStackFromTracer()).isNotSameAs(stackToUse); assertThat(getSpanStackSize()).isEqualTo(1); assertThat(Tracer.getInstance().getCurrentSpan()).isEqualTo(newRequestSpan); assertThat(Tracer.getInstance().getCurrentSpan().getSpanName()).isEqualTo(newRequestSpanName); }
@Test public void StreamingChannel_constructor_sets_fields_as_expected() { // given Deque<Span> spanStackMock = mock(Deque.class); Map<String, String> mdcInfoMock = mock(Map.class); // when StreamingChannel sc = new StreamingChannel( channelMock, channelPoolMock, callActiveHolder, downstreamLastChunkSentHolder, spanStackMock, mdcInfoMock, spanForDownstreamCallMock, proxySpanTaggingStrategyMock ); // then assertThat(sc.channel).isSameAs(channelMock); assertThat(sc.getChannel()).isSameAs(sc.channel); assertThat(sc.pool).isSameAs(channelPoolMock); assertThat(sc.callActiveHolder).isSameAs(callActiveHolder); assertThat(sc.downstreamLastChunkSentHolder).isSameAs(downstreamLastChunkSentHolder); assertThat(sc.distributedTracingSpanStack).isSameAs(spanStackMock); assertThat(sc.distributedTracingMdcInfo).isSameAs(mdcInfoMock); assertThat(sc.spanForDownstreamCall).isSameAs(spanForDownstreamCallMock); assertThat(sc.proxySpanTaggingStrategy).isSameAs(proxySpanTaggingStrategyMock); }
@Test public void constructor_sets_values_exactly_as_given_when_subtracing_is_off() { // given CompletableFuture cfResponse = mock(CompletableFuture.class); AsyncResponseHandler responseHandlerFunc = mock(AsyncResponseHandler.class); RequestBuilderWrapper rbwMock = mock(RequestBuilderWrapper.class); Optional<CircuitBreaker<Response>> circuitBreaker = Optional.of(mock(CircuitBreaker.class)); Deque<Span> spanStack = mock(Deque.class); Map<String, String> mdcInfo = mock(Map.class); Deque<Span> spanStackBeforeCall = Tracer.getInstance().getCurrentSpanStackCopy(); Map<String, String> mdcInfoBeforeCall = MDC.getCopyOfContextMap(); // when AsyncCompletionHandlerWithTracingAndMdcSupport instance = new AsyncCompletionHandlerWithTracingAndMdcSupport( cfResponse, responseHandlerFunc, false, rbwMock, circuitBreaker, spanStack, mdcInfo, tagAndNamingStrategy ); // then assertThat(instance.completableFutureResponse).isSameAs(cfResponse); assertThat(instance.responseHandlerFunction).isSameAs(responseHandlerFunc); assertThat(instance.performSubSpanAroundDownstreamCalls).isEqualTo(false); assertThat(instance.circuitBreakerManualTask).isSameAs(circuitBreaker); assertThat(instance.distributedTraceStackToUse).isSameAs(spanStack); assertThat(instance.mdcContextToUse).isSameAs(mdcInfo); assertThat(Tracer.getInstance().getCurrentSpanStackCopy()).isEqualTo(spanStackBeforeCall); assertThat(MDC.getCopyOfContextMap()).isEqualTo(mdcInfoBeforeCall); }
assertThat(achwtams.distributedTraceStackToUse).isSameAs(initialSpanStack); assertThat(achwtams.mdcContextToUse).isSameAs(initialMdc);