Skip to content

Commit 7df07d7

Browse files
tests
1 parent 23bdb7e commit 7df07d7

File tree

2 files changed

+32
-24
lines changed

2 files changed

+32
-24
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/BraveAutoConfigurationTests.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
package org.springframework.boot.actuate.autoconfigure.tracing;
1818

1919
import java.util.Collections;
20+
import java.util.HashMap;
2021
import java.util.List;
22+
import java.util.Map;
2123
import java.util.stream.Stream;
2224

2325
import brave.Span;
@@ -31,6 +33,7 @@
3133
import brave.propagation.CurrentTraceContext.ScopeDecorator;
3234
import brave.propagation.Propagation;
3335
import brave.propagation.Propagation.Factory;
36+
import brave.propagation.TraceContext;
3437
import brave.sampler.Sampler;
3538
import io.micrometer.tracing.brave.bridge.BraveBaggageManager;
3639
import io.micrometer.tracing.brave.bridge.BraveSpanCustomizer;
@@ -152,6 +155,31 @@ void shouldSupplyB3PropagationFactoryViaProperty() {
152155
});
153156
}
154157

158+
@Test
159+
void shouldUseB3SingleWithParentWhenPropagationTypeIsB3() {
160+
this.contextRunner
161+
.withPropertyValues("management.tracing.propagation.type=B3", "management.tracing.sampling.probability=1.0")
162+
.run((context) -> {
163+
Propagation<String> propagation = context.getBean(Factory.class).get();
164+
Tracer tracer = context.getBean(Tracing.class).tracer();
165+
Span child;
166+
Span parent = tracer.nextSpan().name("parent");
167+
try (Tracer.SpanInScope ignored = tracer.withSpanInScope(parent.start())) {
168+
child = tracer.nextSpan().name("child");
169+
child.start().finish();
170+
}
171+
finally {
172+
parent.finish();
173+
}
174+
175+
Map<String, String> map = new HashMap<>();
176+
TraceContext childContext = child.context();
177+
propagation.injector(this::injectToMap).inject(childContext, map);
178+
assertThat(map).containsExactly(Map.entry("b3", "%s-%s-1-%s".formatted(childContext.traceIdString(),
179+
childContext.spanIdString(), childContext.parentIdString())));
180+
});
181+
}
182+
155183
@Test
156184
void shouldNotSupplyCorrelationScopeDecoratorIfBaggageDisabled() {
157185
this.contextRunner.withPropertyValues("management.tracing.baggage.enabled=false")
@@ -313,6 +341,10 @@ void compositeSpanHandlerUsesFilterPredicateAndReportersInOrder() {
313341
});
314342
}
315343

344+
private void injectToMap(Map<String, String> map, String key, String value) {
345+
map.put(key, value);
346+
}
347+
316348
private List<Factory> getInjectors(Factory factory) {
317349
assertThat(factory).as("factory").isNotNull();
318350
if (factory instanceof CompositePropagationFactory compositePropagationFactory) {

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/CompositePropagationFactoryTests.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,13 @@
2121
import java.util.List;
2222
import java.util.Map;
2323

24-
import brave.Span;
25-
import brave.Tracing;
2624
import brave.internal.propagation.StringPropagationAdapter;
2725
import brave.propagation.Propagation;
2826
import brave.propagation.TraceContext;
2927
import brave.propagation.TraceContextOrSamplingFlags;
3028
import org.junit.jupiter.api.Nested;
3129
import org.junit.jupiter.api.Test;
3230
import org.mockito.Mockito;
33-
import org.springframework.boot.autoconfigure.AutoConfigurations;
34-
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3531

3632
import static org.assertj.core.api.Assertions.assertThat;
3733
import static org.assertj.core.api.Assertions.entry;
@@ -71,9 +67,6 @@ void requires128BitTraceId() {
7167
@Nested
7268
static class CompostePropagationTests {
7369

74-
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
75-
.withConfiguration(AutoConfigurations.of(CompositePropagationFactory.class));
76-
7770
@Test
7871
void keys() {
7972
CompositePropagationFactory factory = new CompositePropagationFactory(List.of(field("a")),
@@ -93,23 +86,6 @@ void inject() {
9386
assertThat(request).containsOnly(entry("a", "a-value"), entry("b", "b-value"));
9487
}
9588

96-
@Test
97-
void thisIsATest() {
98-
this.contextRunner
99-
.withPropertyValues("management.tracing.propagation.type=B3",
100-
"management.tracing.brave.span-joining-supported=true")
101-
.run((context) -> {
102-
CompositePropagationFactory factory = new CompositePropagationFactory(List.of(field("a"), field("b")),
103-
List.of(field("c")));
104-
Propagation<String> propagation = factory.get();
105-
Tracing tracing = context.getBean(Tracing.class);
106-
Span parentSpan = tracing.tracer().nextSpan();
107-
Span childSpan = tracing.tracer().joinSpan(parentSpan.context());
108-
Map<String, String> request = new HashMap<>();
109-
propagation.injector(new CompositePropagationFactoryTests.MapSetter()).inject(parentSpan.context(), request);
110-
});
111-
}
112-
11389
@Test
11490
void extractorWhenDelegateExtractsReturnsExtraction() {
11591
CompositePropagationFactory factory = new CompositePropagationFactory(Collections.emptyList(),

0 commit comments

Comments
 (0)