Skip to content

Commit d1b395a

Browse files
Bumped to latest ga versions before the release
1 parent eb15ac2 commit d1b395a

File tree

4 files changed

+85
-11
lines changed

4 files changed

+85
-11
lines changed

pom.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<parent>
3030
<groupId>org.springframework.cloud</groupId>
3131
<artifactId>spring-cloud-build</artifactId>
32-
<version>3.0.5-SNAPSHOT</version>
32+
<version>3.0.4</version>
3333
<relativePath/>
3434
<!-- lookup parent from repository -->
3535
</parent>
@@ -57,15 +57,15 @@
5757
<maven.compiler.source>1.8</maven.compiler.source>
5858
<maven.compiler.testTarget>1.8</maven.compiler.testTarget>
5959
<maven.compiler.testSource>1.8</maven.compiler.testSource>
60-
<spring-cloud-build.version>3.0.5-SNAPSHOT</spring-cloud-build.version>
61-
<spring-cloud-commons.version>3.0.5-SNAPSHOT</spring-cloud-commons.version>
62-
<spring-cloud-sleuth.version>3.0.5-SNAPSHOT</spring-cloud-sleuth.version>
63-
<spring-cloud-gateway.version>3.0.5-SNAPSHOT</spring-cloud-gateway.version>
64-
<spring-cloud-circuitbreaker.version>2.0.3-SNAPSHOT</spring-cloud-circuitbreaker.version>
65-
<spring-cloud-stream.version>3.1.4-SNAPSHOT</spring-cloud-stream.version>
66-
<spring-cloud-function.version>3.1.4-SNAPSHOT</spring-cloud-function.version>
67-
<spring-cloud-netflix.version>3.0.5-SNAPSHOT</spring-cloud-netflix.version>
68-
<spring-cloud-openfeign.version>3.0.5-SNAPSHOT</spring-cloud-openfeign.version>
60+
<spring-cloud-build.version>3.0.4</spring-cloud-build.version>
61+
<spring-cloud-commons.version>3.0.4</spring-cloud-commons.version>
62+
<spring-cloud-sleuth.version>3.0.4</spring-cloud-sleuth.version>
63+
<spring-cloud-gateway.version>3.0.4</spring-cloud-gateway.version>
64+
<spring-cloud-circuitbreaker.version>2.0.2</spring-cloud-circuitbreaker.version>
65+
<spring-cloud-stream.version>3.1.4</spring-cloud-stream.version>
66+
<spring-cloud-function.version>3.1.4</spring-cloud-function.version>
67+
<spring-cloud-netflix.version>3.0.4</spring-cloud-netflix.version>
68+
<spring-cloud-openfeign.version>3.0.5</spring-cloud-openfeign.version>
6969
<opentracing.version>0.32.0</opentracing.version>
7070
<opentelemetry.version>1.9.0</opentelemetry.version>
7171
<opentelemetry.alpha.version>1.9.0-alpha</opentelemetry.alpha.version>

spring-cloud-sleuth-otel-dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<artifactId>spring-cloud-dependencies-parent</artifactId>
2424
<groupId>org.springframework.cloud</groupId>
25-
<version>3.0.5-SNAPSHOT</version>
25+
<version>3.0.4</version>
2626
<relativePath/>
2727
</parent>
2828
<artifactId>spring-cloud-sleuth-otel-dependencies</artifactId>

tests/common/src/main/java/org/springframework/cloud/sleuth/otel/OtelTestSpanHandler.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Collection;
2020
import java.util.Iterator;
2121
import java.util.List;
22+
import java.util.Queue;
2223
import java.util.concurrent.TimeUnit;
2324
import java.util.concurrent.atomic.AtomicReference;
2425
import java.util.stream.Collectors;
@@ -38,6 +39,8 @@
3839
import org.springframework.cloud.sleuth.otel.bridge.OtelAccessor;
3940
import org.springframework.cloud.sleuth.test.TestSpanHandler;
4041

42+
import static org.assertj.core.api.BDDAssertions.then;
43+
4144
/**
4245
* Test abstraction to store handled spans.
4346
*
@@ -93,6 +96,33 @@ public FinishedSpan get(int index) {
9396
return reportedSpans().get(index);
9497
}
9598

99+
@Override
100+
public void assertAllSpansWereFinishedOrAbandoned(Queue<Span> createdSpans) {
101+
List<FinishedSpan> finishedSpans = reportedSpans();
102+
then(finishedSpans).as("There should be that many finished spans as many created ones")
103+
.hasSize(createdSpans.size());
104+
// finished -> a,b,c ; created -> b,c,d => matchedFinished = b,c
105+
List<FinishedSpan> matchedFinishedSpans = finishedSpans.stream()
106+
.filter(f -> createdSpans.stream().anyMatch(cs -> f.getSpanId().equals(cs.context().spanId())))
107+
.collect(Collectors.toList());
108+
// finished -> a,b,c ; created -> b,c,d => matchedCreated = b,c
109+
List<Span> matchedCreatedSpans = createdSpans.stream()
110+
.filter(cs -> finishedSpans.stream().anyMatch(f -> cs.context().spanId().equals(f.getSpanId())))
111+
.collect(Collectors.toList());
112+
// finished -> a,b,c ; created -> b,c,d => missingFinished = a
113+
List<FinishedSpan> missingFinishedSpans = finishedSpans.stream()
114+
.filter(f -> matchedFinishedSpans.stream().noneMatch(m -> m.getSpanId().equals(f.getSpanId())))
115+
.collect(Collectors.toList());
116+
// finished -> a,b,c ; created -> b,c,d => missingCreated = d
117+
List<Span> missingCreatedSpans = createdSpans.stream().filter(
118+
f -> matchedCreatedSpans.stream().noneMatch(m -> m.context().spanId().equals(f.context().spanId())))
119+
.collect(Collectors.toList());
120+
if (!missingFinishedSpans.isEmpty() || !missingCreatedSpans.isEmpty()) {
121+
throw new AssertionError("There were unmatched created spans " + missingCreatedSpans
122+
+ " and/or finished span " + missingFinishedSpans);
123+
}
124+
}
125+
96126
@Override
97127
public Iterator<FinishedSpan> iterator() {
98128
return reportedSpans().iterator();

tests/otel/spring-cloud-sleuth-zipkin-tests/src/test/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/OtelZipkinAutoConfigurationTests.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,60 @@
1616

1717
package org.springframework.cloud.sleuth.autoconfig.zipkin2;
1818

19+
import java.util.concurrent.TimeUnit;
20+
1921
import io.opentelemetry.sdk.trace.samplers.Sampler;
22+
import okhttp3.mockwebserver.RecordedRequest;
23+
import org.awaitility.Awaitility;
24+
import zipkin2.reporter.AsyncReporter;
2025

26+
import org.springframework.cloud.sleuth.Tracer;
2127
import org.springframework.cloud.sleuth.autoconfig.otel.OtelAutoConfiguration;
2228
import org.springframework.cloud.sleuth.autoconfig.otel.zipkin2.ZipkinOtelAutoConfiguration;
2329
import org.springframework.context.annotation.Bean;
2430
import org.springframework.context.annotation.Configuration;
2531

32+
import static org.assertj.core.api.BDDAssertions.then;
33+
2634
public class OtelZipkinAutoConfigurationTests
2735
extends org.springframework.cloud.sleuth.autoconfig.zipkin2.ZipkinAutoConfigurationTests {
2836

37+
@Override
38+
void defaultsToV2Endpoint() throws Exception {
39+
zipkinRunner().withPropertyValues("spring.zipkin.base-url=" + this.server.url("/").toString()).run(context -> {
40+
context.getBean(Tracer.class).nextSpan().name("foo").tag("foo", "bar").start().end();
41+
42+
context.getBean(ZipkinAutoConfiguration.REPORTER_BEAN_NAME, AsyncReporter.class).flush();
43+
Awaitility.await().atMost(5, TimeUnit.SECONDS)
44+
.untilAsserted(() -> then(this.server.getRequestCount()).isGreaterThan(1));
45+
46+
Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> {
47+
RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS);
48+
then(request).isNotNull();
49+
then(request.getPath()).isEqualTo("/api/v2/spans");
50+
then(request.getBody().readUtf8()).contains("localEndpoint");
51+
});
52+
});
53+
}
54+
55+
@Override
56+
public void encoderDirectsEndpoint() throws Exception {
57+
zipkinRunner().withPropertyValues("spring.zipkin.base-url=" + this.server.url("/").toString(),
58+
"spring.zipkin.encoder=JSON_V1").run(context -> {
59+
context.getBean(Tracer.class).nextSpan().name("foo").tag("foo", "bar").start().end();
60+
61+
Awaitility.await().atMost(5, TimeUnit.SECONDS)
62+
.untilAsserted(() -> then(this.server.getRequestCount()).isGreaterThan(0));
63+
64+
Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> {
65+
RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS);
66+
then(request).isNotNull();
67+
then(request.getPath()).isEqualTo("/api/v1/spans");
68+
then(request.getBody().readUtf8()).contains("binaryAnnotations");
69+
});
70+
});
71+
}
72+
2973
@Override
3074
protected Class tracerZipkinConfiguration() {
3175
return ZipkinOtelAutoConfiguration.class;

0 commit comments

Comments
 (0)