diff options
Diffstat (limited to 'kamon-trace/src/test/scala/kamon/TraceAggregatorSpec.scala')
-rw-r--r-- | kamon-trace/src/test/scala/kamon/TraceAggregatorSpec.scala | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/kamon-trace/src/test/scala/kamon/TraceAggregatorSpec.scala b/kamon-trace/src/test/scala/kamon/TraceAggregatorSpec.scala new file mode 100644 index 00000000..a8e736ae --- /dev/null +++ b/kamon-trace/src/test/scala/kamon/TraceAggregatorSpec.scala @@ -0,0 +1,37 @@ +package kamon + +import org.scalatest.{WordSpecLike, WordSpec} +import akka.testkit.{TestKitBase, TestKit} +import akka.actor.ActorSystem +import scala.concurrent.duration._ +import kamon.trace.UowTracing.{Finish, Rename, Start} +import kamon.trace.{UowTrace, UowTraceAggregator} + +class TraceAggregatorSpec extends TestKit(ActorSystem("TraceAggregatorSpec")) with WordSpecLike { + + "a TraceAggregator" should { + "send a UowTrace message out after receiving a Finish message" in new AggregatorFixture { + within(1 second) { + aggregator ! Start(1) + aggregator ! Finish(1) + + expectMsg(UowTrace("UNKNOWN", Seq(Start(1), Finish(1)))) + } + } + + "change the uow name after receiving a Rename message" in new AggregatorFixture { + within(1 second) { + aggregator ! Start(1) + aggregator ! Rename(1, "test-uow") + aggregator ! Finish(1) + + expectMsg(UowTrace("test-uow", Seq(Start(1), Finish(1)))) + } + } + } + + + trait AggregatorFixture { + val aggregator = system.actorOf(UowTraceAggregator.props(testActor, 10 seconds)) + } +} |