aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/context
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-08-15 00:06:26 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-08-15 00:06:26 +0200
commit6721d325d018756296213ac8f9129bc304a21afb (patch)
treee08a5ce92802f521be228beae0ddb4ef258d0066 /kamon-core/src/test/scala/kamon/context
parentac3b72e27765ceec4cc3958b0fa7eaba0299f017 (diff)
parenta949c875684d78818224cd2ca7aaf79aa7878724 (diff)
downloadKamon-6721d325d018756296213ac8f9129bc304a21afb.tar.gz
Kamon-6721d325d018756296213ac8f9129bc304a21afb.tar.bz2
Kamon-6721d325d018756296213ac8f9129bc304a21afb.zip
Merge remote-tracking branch 'ivantopo/wip/moving-ot-support-to-a-separeate-project' into kamon-1.0-develop
Diffstat (limited to 'kamon-core/src/test/scala/kamon/context')
-rw-r--r--kamon-core/src/test/scala/kamon/context/ContextCodecSpec.scala18
-rw-r--r--kamon-core/src/test/scala/kamon/context/ThreadLocalStorageSpec.scala41
2 files changed, 59 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/context/ContextCodecSpec.scala b/kamon-core/src/test/scala/kamon/context/ContextCodecSpec.scala
new file mode 100644
index 00000000..11be85a7
--- /dev/null
+++ b/kamon-core/src/test/scala/kamon/context/ContextCodecSpec.scala
@@ -0,0 +1,18 @@
+package kamon.context
+
+import kamon.Kamon
+import org.scalatest.{Matchers, WordSpec}
+
+class ContextCodecSpec extends WordSpec with Matchers {
+ "the Context Codec" when {
+ "encoding/decoding to HttpHeaders" should {
+ "encode stuff" in {
+
+
+
+ }
+ }
+ }
+
+ val ContextCodec = new Codec(Kamon.identityProvider, Kamon.config())
+}
diff --git a/kamon-core/src/test/scala/kamon/context/ThreadLocalStorageSpec.scala b/kamon-core/src/test/scala/kamon/context/ThreadLocalStorageSpec.scala
new file mode 100644
index 00000000..39f316ba
--- /dev/null
+++ b/kamon-core/src/test/scala/kamon/context/ThreadLocalStorageSpec.scala
@@ -0,0 +1,41 @@
+package kamon.context
+
+
+import org.scalatest.{Matchers, WordSpec}
+
+class ThreadLocalStorageSpec extends WordSpec with Matchers {
+
+ "the Storage.ThreadLocal implementation of Context storage" should {
+ "return a empty context when no context has been set" in {
+ TLS.current() shouldBe Context.Empty
+ }
+
+ "return the empty value for keys that have not been set in the context" in {
+ TLS.current().get(TestKey) shouldBe 42
+ TLS.current().get(AnotherKey) shouldBe 99
+ TLS.current().get(BroadcastKey) shouldBe "i travel around"
+
+ ScopeWithKey.get(TestKey) shouldBe 43
+ ScopeWithKey.get(AnotherKey) shouldBe 99
+ ScopeWithKey.get(BroadcastKey) shouldBe "i travel around"
+ }
+
+ "allow setting a context as current and remove it when closing the Scope" in {
+ TLS.current() shouldBe Context.Empty
+
+ val scope = TLS.store(ScopeWithKey)
+ TLS.current() shouldBe theSameInstanceAs(ScopeWithKey)
+ scope.close()
+
+ TLS.current() shouldBe Context.Empty
+ }
+
+
+ }
+
+ val TLS: Storage = new Storage.ThreadLocal
+ val TestKey = Key.local("test-key", 42)
+ val AnotherKey = Key.local("another-key", 99)
+ val BroadcastKey = Key.broadcast("broadcast", "i travel around")
+ val ScopeWithKey = Context.create().withKey(TestKey, 43)
+}