aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala')
-rw-r--r--kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala b/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
index faf127c1..fe7ad053 100644
--- a/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
+++ b/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
@@ -108,6 +108,34 @@ class SimpleTraceSpec extends BaseKamonSpec("simple-trace-spec") {
segmentTwo.get.tags should be(Map("segment-two-info" → "info"))
}
+ "send a TraceInfo when the trace has finished and all segments are finished and contains added tag" in {
+ Kamon.tracer.subscribe(testActor)
+
+ Tracer.withContext(newContext("simple-trace-without-segments", "awesome-token")) {
+ Tracer.currentContext.addTag("environment", "production")
+ val segmentOne = Tracer.currentContext.startSegment("segment-one", "test-segment", "test")
+ segmentOne.addTag("segment-one-info", "info")
+ segmentOne.finish()
+ val segmentTwo = Tracer.currentContext.startSegment("segment-two", "test-segment", "test")
+ segmentTwo.addTag("segment-two-info", "info")
+ segmentTwo.finish()
+ Tracer.currentContext.finish()
+ }
+
+ val traceInfo = expectMsgType[TraceInfo]
+ Kamon.tracer.unsubscribe(testActor)
+
+ traceInfo.name should be("simple-trace-without-segments")
+ traceInfo.tags should be(Map("environment" → "production"))
+ traceInfo.segments.size should be(2)
+
+ val segmentOne = traceInfo.segments.find(_.name == "segment-one")
+ val segmentTwo = traceInfo.segments.find(_.name == "segment-two")
+
+ segmentOne.get.tags should be(Map("segment-one-info" → "info"))
+ segmentTwo.get.tags should be(Map("segment-two-info" → "info"))
+ }
+
"incubate the tracing context if there are open segments after finishing" in {
Kamon.tracer.subscribe(testActor)