diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-01-31 09:01:18 -0300 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-01-31 09:01:18 -0300 |
commit | 59c01d880379dfc48c6d82da13ef628a587a9bbb (patch) | |
tree | dd323caa93133a98da5f76be332dfdbf76280ea5 /kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala | |
parent | a15e17d2462105ad8b72054be58dc9e8f9dc64ed (diff) | |
download | Kamon-59c01d880379dfc48c6d82da13ef628a587a9bbb.tar.gz Kamon-59c01d880379dfc48c6d82da13ef628a587a9bbb.tar.bz2 Kamon-59c01d880379dfc48c6d82da13ef628a587a9bbb.zip |
remake of trace context and allow different tracing levels
Diffstat (limited to 'kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala')
-rw-r--r-- | kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala b/kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala index a5554836..e6797148 100644 --- a/kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala +++ b/kamon-core/src/test/scala/kamon/trace/instrumentation/FutureTracingSpec.scala @@ -15,42 +15,42 @@ * ========================================================== */ package kamon.trace.instrumentation -import scala.concurrent.{ ExecutionContext, Await, Promise, Future } -import org.scalatest.{ Matchers, OptionValues, WordSpec } +import scala.concurrent.{ ExecutionContext, Future } +import org.scalatest.{ Matchers, OptionValues, WordSpecLike } import org.scalatest.concurrent.{ ScalaFutures, PatienceConfiguration } -import java.util.UUID -import scala.util.{ Random, Success } -import scala.concurrent.duration._ -import java.util.concurrent.TimeUnit -import akka.actor.{ Actor, ActorSystem } -import kamon.trace.{ Trace, TraceContext } +import kamon.trace.TraceRecorder +import akka.testkit.TestKit +import akka.actor.ActorSystem -class FutureTracingSpec extends WordSpec with Matchers with ScalaFutures with PatienceConfiguration with OptionValues { +class FutureTracingSpec extends TestKit(ActorSystem("actor-message-passing-tracing-spec")) with WordSpecLike with Matchers + with ScalaFutures with PatienceConfiguration with OptionValues { - implicit val execContext = ExecutionContext.Implicits.global + implicit val execContext = system.dispatcher "a Future created with FutureTracing" should { "capture the TraceContext available when created" which { - "must be available when executing the future's body" in new TraceContextFixture { - var future: Future[Option[TraceContext]] = _ + "must be available when executing the future's body" in { - Trace.withContext(testTraceContext) { - future = Future(Trace.context) + val (future, testTraceContext) = TraceRecorder.withNewTraceContext("future-body") { + val future = Future(TraceRecorder.currentContext) + + (future, TraceRecorder.currentContext) } whenReady(future)(ctxInFuture ⇒ ctxInFuture should equal(testTraceContext)) } - "must be available when executing callbacks on the future" in new TraceContextFixture { - var future: Future[Option[TraceContext]] = _ + "must be available when executing callbacks on the future" in { - Trace.withContext(testTraceContext) { - future = Future("Hello Kamon!") + val (future, testTraceContext) = TraceRecorder.withNewTraceContext("future-body") { + val future = Future("Hello Kamon!") // The TraceContext is expected to be available during all intermediate processing. .map(_.length) .flatMap(len ⇒ Future(len.toString)) - .map(s ⇒ Trace.context()) + .map(s ⇒ TraceRecorder.currentContext) + + (future, TraceRecorder.currentContext) } whenReady(future)(ctxInFuture ⇒ |