Skip to content
This repository was archived by the owner on Sep 26, 2025. It is now read-only.

Commit 734b037

Browse files
committed
Improve stability of tracing tests
1 parent 8b7ef78 commit 734b037

File tree

23 files changed

+116
-33
lines changed

23 files changed

+116
-33
lines changed

carts/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@
7979
</dependency>
8080

8181
<!-- test dependencies -->
82+
<dependency>
83+
<groupId>org.awaitility</groupId>
84+
<artifactId>awaitility</artifactId>
85+
<version>${version.lib.awaitility}</version>
86+
<scope>test</scope>
87+
</dependency>
8288
<dependency>
8389
<groupId>org.springframework.boot</groupId>
8490
<artifactId>spring-boot-starter-test</artifactId>

carts/src/test/java/com/oracle/coherence/examples/sockshop/spring/carts/CartMetricsTests.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.oracle.coherence.examples.sockshop.spring.carts.model.Item;
1010
import com.oracle.coherence.examples.sockshop.spring.test.config.TestSpanConfig;
1111
import com.oracle.coherence.examples.sockshop.spring.test.tracing.CustomSpanFilter;
12+
import lombok.extern.slf4j.Slf4j;
1213
import org.junit.jupiter.api.MethodOrderer;
1314
import org.junit.jupiter.api.Order;
1415
import org.junit.jupiter.api.Test;
@@ -22,10 +23,12 @@
2223
import org.springframework.http.MediaType;
2324
import org.springframework.test.annotation.DirtiesContext;
2425
import org.springframework.test.web.reactive.server.WebTestClient;
26+
import org.springframework.util.StringUtils;
2527

2628
import java.util.List;
2729

2830
import static org.assertj.core.api.Assertions.assertThat;
31+
import static org.awaitility.Awaitility.await;
2932

3033
/**
3134
* Integration test to ensure Coherence metrics are properly exposed when
@@ -36,13 +39,16 @@
3639
@SpringBootTest(
3740
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
3841
properties = {
39-
"coherence.metrics.http.enabled=true"
42+
"coherence.metrics.http.enabled=true",
43+
"spring.zipkin.enabled=true",
44+
"spring.sleuth.sampler.probability=1.0"
4045
}
4146
)
4247
@AutoConfigureWebTestClient
4348
@DirtiesContext
4449
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
4550
@Import(TestSpanConfig.class)
51+
@Slf4j
4652
public class CartMetricsTests {
4753

4854
public static final int COHERENCE_METRICS_PORT = 9612;
@@ -85,7 +91,12 @@ void verifyCoherenceMetrics() {
8591
@Test
8692
@Order(3)
8793
void verifySpringCloudSleuthTraces() {
94+
await().untilAsserted(() ->
95+
assertThat(this.spanHandler.getSpans())
96+
.hasSize(1));
97+
8898
final List<FinishedSpan> spans = this.spanHandler.getSpans();
99+
log.info("\n" + StringUtils.collectionToDelimitedString(spans, "\n"));
89100
assertThat(spans)
90101
.hasSize(1)
91102
.extracting(FinishedSpan::getName)

carts/src/test/resources/application.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,3 @@
44
# Licensed under the Universal Permissive License v 1.0 as shown at
55
# https://oss.oracle.com/licenses/upl.
66
#
7-
opentracing:
8-
jaeger:
9-
enabled: false

catalog/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@
7979
</dependency>
8080

8181
<!-- test dependencies -->
82+
<dependency>
83+
<groupId>org.awaitility</groupId>
84+
<artifactId>awaitility</artifactId>
85+
<version>${version.lib.awaitility}</version>
86+
<scope>test</scope>
87+
</dependency>
8288
<dependency>
8389
<groupId>org.springframework.boot</groupId>
8490
<artifactId>spring-boot-starter-test</artifactId>

catalog/src/test/java/com/oracle/coherence/examples/sockshop/spring/catalog/CatalogMetricsTests.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.oracle.coherence.examples.sockshop.spring.test.tracing.CustomSpanFilter;
1212
import com.oracle.coherence.spring.configuration.annotation.CoherenceCache;
1313
import com.tangosol.net.NamedCache;
14+
import lombok.extern.slf4j.Slf4j;
1415
import org.junit.jupiter.api.MethodOrderer;
1516
import org.junit.jupiter.api.Order;
1617
import org.junit.jupiter.api.Test;
@@ -24,6 +25,7 @@
2425
import org.springframework.http.MediaType;
2526
import org.springframework.test.annotation.DirtiesContext;
2627
import org.springframework.test.web.reactive.server.WebTestClient;
28+
import org.springframework.util.StringUtils;
2729

2830
import java.util.List;
2931

@@ -38,13 +40,16 @@
3840
@SpringBootTest(
3941
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
4042
properties = {
41-
"coherence.metrics.http.enabled=true"
43+
"coherence.metrics.http.enabled=true",
44+
"spring.zipkin.enabled=true",
45+
"spring.sleuth.sampler.probability=1.0"
4246
}
4347
)
4448
@AutoConfigureWebTestClient
4549
@DirtiesContext
4650
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
4751
@Import(TestSpanConfig.class)
52+
@Slf4j
4853
public class CatalogMetricsTests {
4954

5055
@CoherenceCache
@@ -87,6 +92,7 @@ void verifyCoherenceMetrics() {
8792
@Order(3)
8893
void verifySpringCloudSleuthTraces() {
8994
final List<FinishedSpan> spans = this.spanHandler.getSpans();
95+
log.info("\n" + StringUtils.collectionToDelimitedString(spans, "\n"));
9096
assertThat(spans)
9197
.hasSize(0);
9298
}

catalog/src/test/resources/application.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,3 @@
44
# Licensed under the Universal Permissive License v 1.0 as shown at
55
# https://oss.oracle.com/licenses/upl.
66
#
7-
opentracing:
8-
jaeger:
9-
enabled: false

orders/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@
7979
</dependency>
8080

8181
<!-- test dependencies -->
82+
<dependency>
83+
<groupId>org.awaitility</groupId>
84+
<artifactId>awaitility</artifactId>
85+
<version>${version.lib.awaitility}</version>
86+
<scope>test</scope>
87+
</dependency>
8288
<dependency>
8389
<groupId>org.springframework.boot</groupId>
8490
<artifactId>spring-boot-starter-test</artifactId>

orders/src/main/resources/application.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spring:
1313
propagation:
1414
type: B3,W3C
1515
opentracing:
16-
enabled: true
16+
enabled:
1717
zipkin:
1818
base-url: http://jaeger-agent:9411
1919
enabled: false

orders/src/test/java/com/oracle/coherence/examples/sockshop/spring/orders/CoherenceOrderRepositoryIT.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.junit.jupiter.api.Test;
1313
import org.springframework.beans.factory.annotation.Autowired;
1414
import org.springframework.boot.test.context.SpringBootTest;
15+
import org.springframework.test.annotation.DirtiesContext;
1516

1617
import static com.oracle.coherence.examples.sockshop.spring.orders.TestDataFactory.order;
1718
import static org.hamcrest.MatcherAssert.assertThat;
@@ -21,6 +22,7 @@
2122
* Tests for Coherence repository implementation.
2223
*/
2324
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
25+
@DirtiesContext
2426
class CoherenceOrderRepositoryIT {
2527
@Autowired
2628
private TestOrderRepository orders;

orders/src/test/java/com/oracle/coherence/examples/sockshop/spring/orders/CoherenceOrderResourceIT.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.springframework.boot.test.context.SpringBootTest;
2121
import org.springframework.boot.web.server.LocalServerPort;
2222
import org.springframework.http.HttpStatus;
23+
import org.springframework.test.annotation.DirtiesContext;
2324

2425
import java.net.URI;
2526
import java.time.LocalDate;
@@ -37,6 +38,7 @@
3738
* using Coherence for persistence.
3839
*/
3940
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
41+
@DirtiesContext
4042
public class CoherenceOrderResourceIT {
4143

4244
@LocalServerPort

0 commit comments

Comments
 (0)