aboutsummaryrefslogtreecommitdiff
path: root/kamon-play/src/test/scala/kamon/play
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2014-11-19 22:09:41 -0300
committerDiego <diegolparra@gmail.com>2014-11-19 22:09:41 -0300
commitc03a0c5dd2a490d4b4ccbde58d18ceccc1867b44 (patch)
tree4030df619b2035db49f9b10e3c8396199f154904 /kamon-play/src/test/scala/kamon/play
parentf6805411bbe80544d90736d560322fa6d6bd24e1 (diff)
downloadKamon-c03a0c5dd2a490d4b4ccbde58d18ceccc1867b44.tar.gz
Kamon-c03a0c5dd2a490d4b4ccbde58d18ceccc1867b44.tar.bz2
Kamon-c03a0c5dd2a490d4b4ccbde58d18ceccc1867b44.zip
+ core: refactor MDC facilities and closes #100
Diffstat (limited to 'kamon-play/src/test/scala/kamon/play')
-rw-r--r--kamon-play/src/test/scala/kamon/play/LoggerLikeInstrumentationSpec.scala25
1 files changed, 13 insertions, 12 deletions
diff --git a/kamon-play/src/test/scala/kamon/play/LoggerLikeInstrumentationSpec.scala b/kamon-play/src/test/scala/kamon/play/LoggerLikeInstrumentationSpec.scala
index c41f7004..04ae9729 100644
--- a/kamon-play/src/test/scala/kamon/play/LoggerLikeInstrumentationSpec.scala
+++ b/kamon-play/src/test/scala/kamon/play/LoggerLikeInstrumentationSpec.scala
@@ -16,10 +16,11 @@
package kamon.play
import ch.qos.logback.classic.spi.ILoggingEvent
-import ch.qos.logback.classic.{ AsyncAppender, LoggerContext }
+import ch.qos.logback.classic.{AsyncAppender, LoggerContext}
import ch.qos.logback.core.read.ListAppender
import ch.qos.logback.core.status.NopStatusListener
import kamon.trace.TraceLocal
+import kamon.trace.TraceLocal.AvailableToMdc
import org.scalatest.BeforeAndAfter
import org.scalatestplus.play._
import org.slf4j
@@ -28,8 +29,9 @@ import play.api.mvc.Results.Ok
import play.api.mvc._
import play.api.test.Helpers._
import play.api.test._
+import scala.concurrent.duration._
-import scala.concurrent.Future
+import scala.concurrent.{Await, Future}
class LoggerLikeInstrumentationSpec extends PlaySpec with OneServerPerSuite with BeforeAndAfter {
@@ -41,11 +43,8 @@ class LoggerLikeInstrumentationSpec extends PlaySpec with OneServerPerSuite with
val headerValue = "My header value"
val otherValue = "My other value"
- case class LocalStorageValue(header: String, other: String)
-
- object TraceLocalKey extends TraceLocal.TraceLocalKey {
- type ValueType = LocalStorageValue
- }
+ val TraceLocalHeaderKey = AvailableToMdc("header")
+ val TraceLocalOtherKey = AvailableToMdc("other")
before {
LoggingHandler.startLogging()
@@ -60,7 +59,8 @@ class LoggerLikeInstrumentationSpec extends PlaySpec with OneServerPerSuite with
case ("GET", "/logging") ⇒
Action.async {
Future {
- TraceLocal.store(TraceLocalKey)(LocalStorageValue(headerValue, otherValue))
+ TraceLocal.store(TraceLocalHeaderKey)(headerValue)
+ TraceLocal.store(TraceLocalOtherKey)(otherValue)
LoggingHandler.info(infoMessage)
Ok("OK")
}(executor)
@@ -68,12 +68,13 @@ class LoggerLikeInstrumentationSpec extends PlaySpec with OneServerPerSuite with
})
"the LoggerLike instrumentation" should {
- "be put the properties of TraceLocal into the MDC as key -> value in a request" in {
+ "allow retrieve a value from the MDC when was created a key of type AvailableToMdc in the current request" in {
LoggingHandler.appenderStart()
- val Some(result) = route(FakeRequest(GET, "/logging"))
- Thread.sleep(500) // wait to complete the future
- TraceLocal.retrieve(TraceLocalKey) must be(Some(LocalStorageValue(headerValue, otherValue)))
+ Await.result(route(FakeRequest(GET, "/logging")).get, 500 millis)
+
+ TraceLocal.retrieve(TraceLocalHeaderKey) must be(Some(headerValue))
+ TraceLocal.retrieve(TraceLocalOtherKey) must be(Some(otherValue))
LoggingHandler.appenderStop()