55
66package io .opentelemetry .contrib .baggage .processor ;
77
8- import static org . assertj . core . api . Assertions .assertThat ;
8+ import static io . opentelemetry . sdk . testing . assertj . OpenTelemetryAssertions .assertThat ;
99import static org .awaitility .Awaitility .await ;
1010import static org .mockito .Mockito .verify ;
1111
2626import io .opentelemetry .sdk .logs .ReadWriteLogRecord ;
2727import io .opentelemetry .sdk .logs .data .LogRecordData ;
2828import io .opentelemetry .sdk .logs .export .LogRecordExporter ;
29- import io .opentelemetry .sdk .testing .assertj .SpanDataAssert ;
30- import io .opentelemetry .sdk .testing .assertj .TracesAssert ;
3129import io .opentelemetry .sdk .testing .exporter .InMemoryLogRecordExporter ;
3230import io .opentelemetry .sdk .testing .exporter .InMemorySpanExporter ;
3331import io .opentelemetry .sdk .trace .ReadWriteSpan ;
32+ import io .opentelemetry .sdk .trace .data .SpanData ;
3433import io .opentelemetry .sdk .trace .export .SpanExporter ;
3534import java .time .Duration ;
3635import java .util .Collections ;
@@ -51,18 +50,23 @@ class BaggageProcessorCustomizerTest {
5150
5251 @ Test
5352 void test_customizer () {
54- assertCustomizer (Collections .emptyMap (), span -> span .hasTotalAttributeCount (0 ));
53+ assertCustomizer (
54+ Collections .emptyMap (),
55+ span -> assertThat (span ).hasTotalAttributeCount (0 ),
56+ logRecord -> assertThat (logRecord ).hasTotalAttributeCount (0 ));
5557 Map <String , String > properties = new HashMap <>();
5658 properties .put ("otel.java.experimental.span-attributes.copy-from-baggage.include" , "key" );
5759 properties .put ("otel.java.experimental.log-attributes.copy-from-baggage.include" , "key" );
58- // TODO try use
59- // AttributeAssertion attributeAssertion =
60- // OpenTelemetryAssertions.equalTo(AttributeKey.stringKey ("key") , "value");
61- assertCustomizer ( properties , span -> span . hasAttribute ( AttributeKey . stringKey ("key" ) , "value" ));
60+ assertCustomizer (
61+ properties ,
62+ span -> assertThat ( span . getAttributes ()). containsEntry ("key" , "value" ),
63+ logRecord -> assertThat ( logRecord . getAttributes ()). containsEntry ("key" , "value" ));
6264 }
6365
6466 private static void assertCustomizer (
65- Map <String , String > properties , Consumer <SpanDataAssert > spanDataAssertConsumer ) {
67+ Map <String , String > properties ,
68+ Consumer <SpanData > spanDataRequirements ,
69+ Consumer <LogRecordData > logRecordRequirements ) {
6670
6771 InMemorySpanExporter spanExporter = InMemorySpanExporter .create ();
6872 InMemoryLogRecordExporter logExporter = InMemoryLogRecordExporter .create ();
@@ -72,16 +76,17 @@ private static void assertCustomizer(
7276 sdk .getTracer ("test" ).spanBuilder ("test" ).startSpan ().end ();
7377 sdk .getLogsBridge ().get ("test" ).logRecordBuilder ().setBody ("test" ).emit ();
7478 }
75- // TODO verify log record attributes
79+
7680 await ()
7781 .atMost (Duration .ofSeconds (1 ))
7882 .untilAsserted (
7983 () -> {
80- TracesAssert .assertThat (spanExporter .getFinishedSpanItems ())
81- .hasTracesSatisfyingExactly (
82- trace -> trace .hasSpansSatisfyingExactly (spanDataAssertConsumer ));
83- List <LogRecordData > finishedLogRecordItems = logExporter .getFinishedLogRecordItems ();
84- assertThat (finishedLogRecordItems ).hasSize (1 );
84+ assertThat (spanExporter .getFinishedSpanItems ())
85+ .hasSize (1 )
86+ .allSatisfy (spanDataRequirements );
87+ assertThat (logExporter .getFinishedLogRecordItems ())
88+ .hasSize (1 )
89+ .allSatisfy (logRecordRequirements );
8590 });
8691 }
8792
0 commit comments