From b976bb97c3713c4671e038493296f58a87643dff Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 14 May 2019 14:46:39 +0200 Subject: [PATCH] Trying to make tests less brittle --- .../SleuthSpanCreatorAspectMonoTests.java | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/annotation/SleuthSpanCreatorAspectMonoTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/annotation/SleuthSpanCreatorAspectMonoTests.java index 3888d3aa0..51e9df95d 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/annotation/SleuthSpanCreatorAspectMonoTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/annotation/SleuthSpanCreatorAspectMonoTests.java @@ -423,18 +423,24 @@ public class SleuthSpanCreatorAspectMonoTests { Pair, Long> pair = mono.block(); Long outerSpanIdBefore = pair.getFirst().getFirst(); - Long outerSpanIdAfter = pair.getFirst().getSecond(); Long innerSpanId = pair.getSecond(); - then(outerSpanIdBefore).isEqualTo(outerSpanIdAfter).isNotEqualTo(innerSpanId); + then(outerSpanIdBefore).isNotEqualTo(innerSpanId); Awaitility.await().untilAsserted(() -> { List spans = this.reporter.getSpans(); - then(spans).hasSize(2); - then(spans.get(0).name()).isEqualTo("outer-span-in-trace-context"); - then(spans.get(0).id()).isEqualTo(toHexString(outerSpanIdBefore)); - then(spans.get(1).name()).isEqualTo("span-in-trace-context"); - then(spans.get(1).id()).isEqualTo(toHexString(innerSpanId)); + zipkin2.Span outerSpan = spans.stream() + .filter(span -> span.name().equals("outer-span-in-trace-context")) + .findFirst().orElseThrow(() -> new AssertionError( + "No span with name [outer-span-in-trace-context] found")); + then(outerSpan.name()).isEqualTo("outer-span-in-trace-context"); + then(outerSpan.id()).isEqualTo(toHexString(outerSpanIdBefore)); + zipkin2.Span innerSpan = spans.stream() + .filter(span -> span.name().equals("span-in-trace-context")) + .findFirst().orElseThrow(() -> new AssertionError( + "No span with name [span-in-trace-context] found")); + then(innerSpan.name()).isEqualTo("span-in-trace-context"); + then(innerSpan.id()).isEqualTo(toHexString(innerSpanId)); then(this.tracer.currentSpan()).isNull(); }); } @@ -465,18 +471,24 @@ public class SleuthSpanCreatorAspectMonoTests { Pair, Long> pair = mono.block(); Long outerSpanIdBefore = pair.getFirst().getFirst(); - Long outerSpanIdAfter = pair.getFirst().getSecond(); Long innerSpanId = pair.getSecond(); - then(outerSpanIdBefore).isEqualTo(outerSpanIdAfter).isNotEqualTo(innerSpanId); + then(outerSpanIdBefore).isNotEqualTo(innerSpanId); Awaitility.await().untilAsserted(() -> { List spans = this.reporter.getSpans(); - then(spans).hasSize(2); - then(spans.get(0).name()).isEqualTo("outer-span-in-subscriber-context"); - then(spans.get(0).id()).isEqualTo(toHexString(outerSpanIdBefore)); - then(spans.get(1).name()).isEqualTo("span-in-subscriber-context"); - then(spans.get(1).id()).isEqualTo(toHexString(innerSpanId)); + zipkin2.Span outerSpan = spans.stream().filter( + span -> span.name().equals("outer-span-in-subscriber-context")) + .findFirst().orElseThrow(() -> new AssertionError( + "No span with name [outer-span-in-subscriber-context] found")); + then(outerSpan.name()).isEqualTo("outer-span-in-subscriber-context"); + then(outerSpan.id()).isEqualTo(toHexString(outerSpanIdBefore)); + zipkin2.Span innerSpan = spans.stream() + .filter(span -> span.name().equals("span-in-subscriber-context")) + .findFirst().orElseThrow(() -> new AssertionError( + "No span with name [span-in-subscriber-context] found")); + then(innerSpan.name()).isEqualTo("span-in-subscriber-context"); + then(innerSpan.id()).isEqualTo(toHexString(innerSpanId)); then(this.tracer.currentSpan()).isNull(); }); }