diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfiguration.java
index 01dd19970..474476948 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfiguration.java
@@ -16,25 +16,16 @@
package org.springframework.cloud.sleuth.metric;
-import java.lang.invoke.MethodHandles;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
-import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ConditionContext;
-import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
-import org.springframework.core.type.AnnotatedTypeMetadata;
-
-import io.micrometer.core.instrument.Counter;
-import io.micrometer.core.instrument.MeterRegistry;
/**
* {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration}
@@ -44,7 +35,7 @@ import io.micrometer.core.instrument.MeterRegistry;
* @since 1.0.0
*/
@Configuration
-@Conditional(TraceMetricsAutoConfiguration.PickMetricIfMetricsIsMissing.class)
+@ConditionalOnProperty(value = "spring.sleuth.metric.enabled", matchIfMissing = true)
@EnableConfigurationProperties
public class TraceMetricsAutoConfiguration {
@@ -55,11 +46,11 @@ public class TraceMetricsAutoConfiguration {
}
@Configuration
- @ConditionalOnClass(Counter.class)
+ @ConditionalOnClass(MeterRegistry.class)
@ConditionalOnMissingBean(SpanMetricReporter.class)
protected static class CounterServiceSpanReporterConfig {
@Bean
- @ConditionalOnBean(Counter.class)
+ @ConditionalOnBean(MeterRegistry.class)
public SpanMetricReporter spanReporterCounterService(SleuthMetricProperties sleuthMetricProperties,
MeterRegistry meterRegistry) {
Counter acceptedSpansCounter = Counter.builder(
@@ -70,47 +61,16 @@ public class TraceMetricsAutoConfiguration {
}
@Bean
- @ConditionalOnMissingBean(Counter.class)
+ @ConditionalOnMissingBean(MeterRegistry.class)
public SpanMetricReporter noOpSpanReporterCounterService() {
return new NoOpSpanMetricReporter();
}
}
@Bean
- @ConditionalOnMissingClass("org.springframework.boot.actuate.metrics.CounterService")
+ @ConditionalOnMissingClass("io.micrometer.core.instrument.MeterRegistry")
@ConditionalOnMissingBean(SpanMetricReporter.class)
public SpanMetricReporter noOpSpanReporterCounterService() {
return new NoOpSpanMetricReporter();
}
-
- // TODO: Remove this
- static class PickMetricIfMetricsIsMissing extends SpringBootCondition {
-
- private static final Log log = LogFactory.getLog(MethodHandles.lookup().lookupClass());
-
- static final String DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED = "spring.sleuth.metrics.enabled";
- static final String SPRING_SLEUTH_METRIC_ENABLED = "spring.sleuth.metric.enabled";
-
- @Override
- public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
- Boolean oldValue = context.getEnvironment().getProperty(DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED, Boolean.class);
- Boolean newValue = context.getEnvironment().getProperty(SPRING_SLEUTH_METRIC_ENABLED, Boolean.class);
- if (oldValue != null) {
- log.warn("You're using an old version of the metrics property. Instead of using [" +
- DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED + "] please use [" + SPRING_SLEUTH_METRIC_ENABLED + "]");
- return matchCondition(oldValue, DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED);
- }
- if (newValue != null) {
- return matchCondition(newValue, SPRING_SLEUTH_METRIC_ENABLED);
- }
- return ConditionOutcome.match("No property was passed - assuming that metrics are enabled.");
- }
-
- private ConditionOutcome matchCondition(Boolean value, String property) {
- if (Boolean.TRUE.equals(value)) {
- return ConditionOutcome.match();
- }
- return ConditionOutcome.noMatch("Property [" + property + "] is set to false.");
- }
- }
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/DefaultTestAutoConfiguration.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/DefaultTestAutoConfiguration.java
index aa20c8631..91c0eca1a 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/DefaultTestAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/DefaultTestAutoConfiguration.java
@@ -11,14 +11,12 @@ import org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfigurati
import org.springframework.cloud.sleuth.instrument.messaging.TraceSpringIntegrationAutoConfiguration;
import org.springframework.cloud.sleuth.instrument.messaging.websocket.TraceWebSocketAutoConfiguration;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@EnableAutoConfiguration(exclude = { LoadBalancerAutoConfiguration.class,
JmxAutoConfiguration.class, TraceSpringIntegrationAutoConfiguration.class,
TraceWebSocketAutoConfiguration.class })
-@EnableAspectJAutoProxy(proxyTargetClass = true)
@Configuration
public @interface DefaultTestAutoConfiguration {
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java
index 8542aed4a..d8a4d3286 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java
@@ -18,8 +18,7 @@ package org.springframework.cloud.sleuth.instrument.scheduling;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.hamcrest.Matchers;
-import org.junit.Ignore;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +29,7 @@ import org.springframework.cloud.sleuth.sampler.AlwaysSampler;
import org.springframework.cloud.sleuth.trace.TestSpanContextHolder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.test.context.junit4.SpringRunner;
@@ -46,40 +46,49 @@ public class TracingOnScheduledTests {
@Autowired
TestBeanWithScheduledMethodToBeIgnored beanWithScheduledMethodToBeIgnored;
+ @Before
+ public void setup() {
+ this.beanWithScheduledMethod.clear();
+ this.beanWithScheduledMethodToBeIgnored.clear();
+ }
+
@Test
public void should_have_span_set_after_scheduled_method_has_been_executed() {
- await().atMost(5, SECONDS).untilAsserted(this::spanIsSetOnAScheduledMethod);
+ await().atMost( 10, SECONDS).untilAsserted(() -> {
+ then(this.beanWithScheduledMethod.isExecuted()).isTrue();
+ spanIsSetOnAScheduledMethod();
+ });
}
@Test
public void should_have_a_new_span_set_each_time_a_scheduled_method_has_been_executed() {
final Span firstSpan = this.beanWithScheduledMethod.getSpan();
- await().atMost(5, SECONDS).untilAsserted(() -> differentSpanHasBeenSetThan(firstSpan));
+ await().atMost(5, SECONDS).untilAsserted(() -> {
+ then(this.beanWithScheduledMethod.isExecuted()).isTrue();
+ differentSpanHasBeenSetThan(firstSpan);
+ });
}
- // TODO: Fix this
@Test
- @Ignore("doesn't work with Boot 2.0")
- public void should_not_span_in_the_scheduled_class_that_matches_skip_pattern()
+ public void should_not_create_span_in_the_scheduled_class_that_matches_skip_pattern()
throws Exception {
- await().atMost(5, SECONDS).untilAtomic(
- this.beanWithScheduledMethodToBeIgnored.isExecuted(), Matchers.is(true));
- then(this.beanWithScheduledMethodToBeIgnored.getSpan()).isNull();
+ await().atMost(5, SECONDS).untilAsserted(() -> {
+ then(this.beanWithScheduledMethodToBeIgnored.isExecuted()).isTrue();
+ then(this.beanWithScheduledMethodToBeIgnored.getSpan()).isNull();
+ });
}
- private Runnable spanIsSetOnAScheduledMethod() {
- return () -> {
- Span storedSpan = TracingOnScheduledTests.this.beanWithScheduledMethod
- .getSpan();
- then(storedSpan).isNotNull();
- then(storedSpan.getTraceId()).isNotNull();
- then(storedSpan).hasATag("class", "TestBeanWithScheduledMethod");
- then(storedSpan).hasATag("method", "scheduledMethod");
- };
+ private void spanIsSetOnAScheduledMethod() {
+ Span storedSpan = TracingOnScheduledTests.this.beanWithScheduledMethod
+ .getSpan();
+ then(storedSpan).isNotNull();
+ then(storedSpan.getTraceId()).isNotNull();
+ then(storedSpan).hasATag("class", "TestBeanWithScheduledMethod");
+ then(storedSpan).hasATag("method", "scheduledMethod");
}
- private Runnable differentSpanHasBeenSetThan(final Span spanToCompare) {
- return () -> then(TracingOnScheduledTests.this.beanWithScheduledMethod.getSpan())
+ private void differentSpanHasBeenSetThan(final Span spanToCompare) {
+ then(TracingOnScheduledTests.this.beanWithScheduledMethod.getSpan())
.isNotEqualTo(spanToCompare);
}
@@ -87,6 +96,7 @@ public class TracingOnScheduledTests {
@Configuration
@DefaultTestAutoConfiguration
+@EnableScheduling
class ScheduledTestConfiguration {
@Bean
@@ -110,14 +120,25 @@ class TestBeanWithScheduledMethod {
Span span;
+ AtomicBoolean executed = new AtomicBoolean(false);
+
@Scheduled(fixedDelay = 1L)
public void scheduledMethod() {
this.span = TestSpanContextHolder.getCurrentSpan();
+ this.executed.set(true);
}
public Span getSpan() {
return this.span;
}
+
+ public AtomicBoolean isExecuted() {
+ return this.executed;
+ }
+
+ public void clear() {
+ this.executed.set(false);
+ }
}
class TestBeanWithScheduledMethodToBeIgnored {
@@ -138,4 +159,8 @@ class TestBeanWithScheduledMethodToBeIgnored {
public AtomicBoolean isExecuted() {
return this.executed;
}
+
+ public void clear() {
+ this.executed.set(false);
+ }
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java
index 62fe72c36..71d51a8ae 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java
@@ -23,6 +23,7 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.sleuth.Sampler;
import org.springframework.cloud.sleuth.Tracer;
@@ -57,12 +58,10 @@ import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then;
/**
* @author Marcin Grzejszczak
*/
-// TODO: Fix this
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ReservationServiceApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext
@ActiveProfiles("data")
-@Ignore("doesn't work with Boot 2.0")
public class SpringDataInstrumentationTests {
@Autowired
@@ -108,7 +107,7 @@ public class SpringDataInstrumentationTests {
}
@Configuration
-@EnableAutoConfiguration
+@EnableAutoConfiguration(exclude = SecurityAutoConfiguration.class)
@EntityScan(basePackageClasses = Reservation.class)
class ReservationServiceApplication {
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfigurationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfigurationTests.java
deleted file mode 100644
index 237ba14b6..000000000
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/metric/TraceMetricsAutoConfigurationTests.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2013-2017 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.cloud.sleuth.metric;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.BDDMockito;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
-import org.springframework.cloud.sleuth.metric.TraceMetricsAutoConfiguration.PickMetricIfMetricsIsMissing;
-import org.springframework.context.annotation.ConditionContext;
-import org.springframework.core.type.AnnotatedTypeMetadata;
-import org.springframework.mock.env.MockEnvironment;
-
-import static org.assertj.core.api.BDDAssertions.then;
-import static org.springframework.cloud.sleuth.metric.TraceMetricsAutoConfiguration.PickMetricIfMetricsIsMissing.DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED;
-import static org.springframework.cloud.sleuth.metric.TraceMetricsAutoConfiguration.PickMetricIfMetricsIsMissing.SPRING_SLEUTH_METRIC_ENABLED;
-
-/**
- * @author Marcin Grzejszczak
- */
-@RunWith(MockitoJUnitRunner.class)
-public class TraceMetricsAutoConfigurationTests {
-
- @Mock ConditionContext conditionContext;
- @Mock AnnotatedTypeMetadata annotatedTypeMetadata;
- MockEnvironment mockEnvironment = new MockEnvironment();
-
- PickMetricIfMetricsIsMissing condition = new PickMetricIfMetricsIsMissing();
-
- @Before
- public void setup() {
- BDDMockito.given(this.conditionContext.getEnvironment()).willReturn(this.mockEnvironment);
- }
-
- @Test
- public void should_turn_on_the_feature_when_no_explicit_one_was_provided() {
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isTrue();
- }
-
- @Test
- public void should_turn_on_the_feature_when_deprecated_property_is_enabled() {
- this.mockEnvironment.setProperty(DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED, "true");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isTrue();
- }
-
- @Test
- public void should_turn_off_the_feature_when_deprecated_property_is_disabled() {
- this.mockEnvironment.setProperty(DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED, "false");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isFalse();
- }
-
- @Test
- public void should_turn_on_the_feature_when_property_is_enabled() {
- this.mockEnvironment.setProperty(SPRING_SLEUTH_METRIC_ENABLED, "true");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isTrue();
- }
-
- @Test
- public void should_turn_off_the_feature_when_property_is_disabled() {
- this.mockEnvironment.setProperty(SPRING_SLEUTH_METRIC_ENABLED, "false");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isFalse();
- }
-
- @Test
- public void should_turn_on_the_feature_when_new_property_is_disabled_and_old_is_enabled() {
- this.mockEnvironment.setProperty(DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED, "true");
- this.mockEnvironment.setProperty(SPRING_SLEUTH_METRIC_ENABLED, "false");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isTrue();
- }
-
- @Test
- public void should_turn_off_the_feature_when_new_property_is_disabled_and_old_is_enabled() {
- this.mockEnvironment.setProperty(DEPRECATED_SPRING_SLEUTH_METRICS_ENABLED, "false");
- this.mockEnvironment.setProperty(SPRING_SLEUTH_METRIC_ENABLED, "true");
-
- ConditionOutcome outcome = this.condition.getMatchOutcome(this.conditionContext, this.annotatedTypeMetadata);
-
- then(outcome.isMatch()).isFalse();
- }
-}
\ No newline at end of file
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleMessagingApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleMessagingApplication.java
index f084789b1..14c067d29 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleMessagingApplication.java
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleMessagingApplication.java
@@ -31,7 +31,7 @@ import org.springframework.web.client.RestTemplate;
* @author Spencer Gibb
*/
@SpringBootApplication
-@EnableAspectJAutoProxy(proxyTargetClass = true)
+
@EnableAsync
@IntegrationComponentScan
@RestController
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java
index 3d7d5b6f3..09f781b45 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java
@@ -27,7 +27,7 @@ import org.springframework.web.client.RestTemplate;
* @author Spencer Gibb
*/
@SpringBootApplication
-@EnableAspectJAutoProxy(proxyTargetClass = true)
+
@EnableAsync
public class SampleSleuthApplication {
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin2/src/main/java/sample/SampleZipkinApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin2/src/main/java/sample/SampleZipkinApplication.java
index df5a11112..3270650d2 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin2/src/main/java/sample/SampleZipkinApplication.java
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin2/src/main/java/sample/SampleZipkinApplication.java
@@ -32,7 +32,7 @@ import zipkin2.reporter.Reporter;
* @author Spencer Gibb
*/
@SpringBootApplication
-@EnableAspectJAutoProxy(proxyTargetClass = true)
+
@EnableAsync
public class SampleZipkinApplication {
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java
index 3d7d5b6f3..09f781b45 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java
@@ -27,7 +27,7 @@ import org.springframework.web.client.RestTemplate;
* @author Spencer Gibb
*/
@SpringBootApplication
-@EnableAspectJAutoProxy(proxyTargetClass = true)
+
@EnableAsync
public class SampleSleuthApplication {
diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml
index 931784a2d..ddd05d433 100644
--- a/spring-cloud-sleuth-stream/pom.xml
+++ b/spring-cloud-sleuth-stream/pom.xml
@@ -67,6 +67,11 @@
awaitility
test
+
+ io.micrometer
+ micrometer-core
+ test
+
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 da9b20fb1..d458c44af 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,20 +16,17 @@
package org.springframework.cloud.sleuth.stream;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.atLeastOnce;
-import static org.mockito.Mockito.verify;
-
import java.util.Collection;
+import java.util.Optional;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import javax.annotation.PostConstruct;
import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.MeterRegistry;
+import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
import org.awaitility.Awaitility;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -59,14 +56,18 @@ import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.Message;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.BDDAssertions.then;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.verify;
+
/**
* @author Dave Syer
*
*/
-// TODO: Fix me
@SpringBootTest(classes = TestConfiguration.class, webEnvironment = WebEnvironment.NONE)
@RunWith(SpringJUnit4ClassRunner.class)
-@Ignore
public class StreamSpanListenerTests {
@Autowired
@@ -78,9 +79,9 @@ public class StreamSpanListenerTests {
@Autowired
StreamSpanReporter listener;
@Autowired
- Counter counter;
- @Autowired
SpanReporter spanReporter;
+ @Autowired
+ MeterRegistry meterRegistry;
@Before
public void init() {
@@ -139,7 +140,10 @@ public class StreamSpanListenerTests {
this.tracer.close(context);
this.listener.poll();
- verify(this.counter, atLeastOnce()).increment();
+ Optional counter = this.meterRegistry.find("counter.span.accepted")
+ .counter();
+ then(counter.isPresent()).isTrue();
+ then(counter.get().count()).isGreaterThan(0d);
}
@Test
@@ -208,8 +212,8 @@ public class StreamSpanListenerTests {
}
@Bean
- Counter counter() {
- return Mockito.mock(Counter.class);
+ public MeterRegistry testMeterRegistry() {
+ return new SimpleMeterRegistry();
}
@PostConstruct
diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocatorConfigurationTest.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocatorConfigurationTest.java
index 6fcbe1e04..3468695f8 100644
--- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocatorConfigurationTest.java
+++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocatorConfigurationTest.java
@@ -1,6 +1,5 @@
package org.springframework.cloud.sleuth.zipkin;
-import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.boot.SpringApplication;
@@ -13,16 +12,15 @@ import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
/**
- * @author Matcin Wielgus
+ * @author Marcin Wielgus
*/
-//TODO: Fix me
-@Ignore
public class DiscoveryClientEndpointLocatorConfigurationTest {
@Test
public void endpointLocatorShouldDefaultToServerPropertiesEndpointLocator() {
ConfigurableApplicationContext ctxt = new SpringApplication(
- EmptyConfiguration.class).run("--spring.jmx.enabled=false");
+ EmptyConfiguration.class).run("--spring.jmx.enabled=false",
+ "--spring.cloud.discovery.client.composite-indicator.enabled=false");
assertThat(ctxt.getBean(EndpointLocator.class))
.isInstanceOf(ServerPropertiesEndpointLocator.class);
ctxt.close();
@@ -31,7 +29,8 @@ public class DiscoveryClientEndpointLocatorConfigurationTest {
@Test
public void endpointLocatorShouldDefaultToServerPropertiesEndpointLocatorEvenWhenDiscoveryClientPresent() {
ConfigurableApplicationContext ctxt = new SpringApplication(
- ConfigurationWithDiscoveryClient.class).run("--spring.jmx.enabled=false");
+ ConfigurationWithDiscoveryClient.class).run("--spring.jmx.enabled=false",
+ "--spring.cloud.discovery.client.composite-indicator.enabled=false");
assertThat(ctxt.getBean(EndpointLocator.class))
.isInstanceOf(ServerPropertiesEndpointLocator.class);
ctxt.close();
@@ -40,7 +39,8 @@ public class DiscoveryClientEndpointLocatorConfigurationTest {
@Test
public void endpointLocatorShouldRespectExistingEndpointLocator() {
ConfigurableApplicationContext ctxt = new SpringApplication(
- ConfigurationWithCustomLocator.class).run("--spring.jmx.enabled=false");
+ ConfigurationWithCustomLocator.class).run("--spring.jmx.enabled=false",
+ "--spring.cloud.discovery.client.composite-indicator.enabled=false");
assertThat(ctxt.getBean(EndpointLocator.class))
.isSameAs(ConfigurationWithCustomLocator.locator);
ctxt.close();
@@ -50,7 +50,8 @@ public class DiscoveryClientEndpointLocatorConfigurationTest {
public void endpointLocatorShouldBeFallbackHavingEndpointLocatorWhenAskedTo() {
ConfigurableApplicationContext ctxt = new SpringApplication(
ConfigurationWithDiscoveryClient.class).run("--spring.jmx.enabled=false",
- "--spring.zipkin.locator.discovery.enabled=true");
+ "--spring.zipkin.locator.discovery.enabled=true",
+ "--spring.cloud.discovery.client.composite-indicator.enabled=false");
assertThat(ctxt.getBean(EndpointLocator.class))
.isInstanceOf(FallbackHavingEndpointLocator.class);
ctxt.close();
@@ -61,7 +62,8 @@ public class DiscoveryClientEndpointLocatorConfigurationTest {
ConfigurableApplicationContext ctxt = new SpringApplication(
ConfigurationWithDiscoveryClient.class,
ConfigurationWithCustomLocator.class).run("--spring.jmx.enabled=false",
- "--spring.zipkin.locator.discovery.enabled=true");
+ "--spring.zipkin.locator.discovery.enabled=true",
+ "--spring.cloud.discovery.client.composite-indicator.enabled=false");
assertThat(ctxt.getBean(EndpointLocator.class))
.isSameAs(ConfigurationWithCustomLocator.locator);
ctxt.close();
diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinDiscoveryClientTests.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinDiscoveryClientTests.java
index 0cf274ffd..01c83a46c 100644
--- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinDiscoveryClientTests.java
+++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinDiscoveryClientTests.java
@@ -31,11 +31,10 @@ import org.springframework.util.SocketUtils;
import zipkin.junit.ZipkinRule;
-// TODO: Fix me
@RunWith(SpringRunner.class)
-@SpringBootTest(classes = ZipkinDiscoveryClientTests.Config.class,
- properties = "spring.zipkin.baseUrl=http://zipkin/")
-@Ignore
+@SpringBootTest(classes = ZipkinDiscoveryClientTests.Config.class, properties = {
+ "spring.zipkin.baseUrl=http://zipkin/",
+ "spring.cloud.discovery.client.composite-indicator.enabled=false" })
public class ZipkinDiscoveryClientTests {
@ClassRule public static ZipkinRule ZIPKIN_RULE = new ZipkinRule();