diff --git a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java index 87f1d8f01..d9294b135 100644 --- a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java +++ b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanListenerTests.java @@ -16,6 +16,7 @@ package org.springframework.cloud.sleuth.stream; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.atLeastOnce; @@ -125,6 +126,24 @@ public class StreamSpanListenerTests { verify(this.counterService, atLeastOnce()).increment(anyString()); } + @Test + public void shouldNotReportToZipkinWhenSpanIsNotExportable() { + Span span = Span.builder().exportable(false).build(); + + this.spanReporter.report(span); + + assertThat(this.test.spans).isEmpty(); + } + + @Test + public void shouldReportToZipkinWhenSpanIsExportable() { + Span span = Span.builder().exportable(true).build(); + + this.spanReporter.report(span); + + assertThat(this.test.spans).isNotEmpty(); + } + @Configuration @Import({ ZipkinTestConfiguration.class, SleuthStreamAutoConfiguration.class, TraceMetricsAutoConfiguration.class, TestSupportBinderAutoConfiguration.class, diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java index 2e16e0e09..ad8630173 100644 --- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java +++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java @@ -176,6 +176,15 @@ public class ZipkinSpanListenerTests { .containsOnly("fooservice"); } + @Test + public void shouldNotReportToZipkinWhenSpanIsNotExportable() { + Span span = Span.builder().exportable(false).build(); + + this.spanReporter.report(span); + + assertThat(this.test.zipkinSpans).isEmpty(); + } + @Configuration @EnableAutoConfiguration protected static class TestConfiguration {