Allow spans in any order in http client connectionErrorUnopenedPortWi… (#9240)

This commit is contained in:
Lauri Tulmin 2023-08-18 18:24:29 +03:00 committed by GitHub
parent 88961cc8ad
commit ba9d1ad1fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 20 deletions

View File

@ -32,7 +32,6 @@ import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.net.URI;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@ -612,25 +611,14 @@ public abstract class AbstractHttpClientTest<REQUEST> implements HttpClientTypeA
testing.waitAndAssertTraces(
trace -> {
List<Consumer<SpanDataAssert>> spanAsserts =
Arrays.asList(
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
span ->
assertClientSpan(span, uri, method, null, null)
.hasParent(trace.getSpan(0))
.hasException(clientError),
span ->
span.hasName("callback")
.hasKind(SpanKind.INTERNAL)
.hasParent(trace.getSpan(0)));
boolean jdk8 = Objects.equals(System.getProperty("java.specification.version"), "1.8");
if (jdk8) {
// on some netty based http clients order of `CONNECT` and `callback` spans isn't
// guaranteed when running on jdk8
trace.hasSpansSatisfyingExactlyInAnyOrder(spanAsserts);
} else {
trace.hasSpansSatisfyingExactly(spanAsserts);
}
trace.hasSpansSatisfyingExactlyInAnyOrder(
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
span ->
assertClientSpan(span, uri, method, null, null)
.hasParent(trace.getSpan(0))
.hasException(clientError),
span ->
span.hasName("callback").hasKind(SpanKind.INTERNAL).hasParent(trace.getSpan(0)));
});
}