aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/trace
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-07-19 14:47:39 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-07-19 14:47:39 +0200
commitca6659c419e434b1b8caa6e9551420aad2230e77 (patch)
treefc8d8aa588a7d99a792cd3db23c8688f0ec6852b /kamon-core/src/test/scala/kamon/trace
parent3076d7b7a499d1d7d3d2bc447d989e383dbb1b40 (diff)
downloadKamon-ca6659c419e434b1b8caa6e9551420aad2230e77.tar.gz
Kamon-ca6659c419e434b1b8caa6e9551420aad2230e77.tar.bz2
Kamon-ca6659c419e434b1b8caa6e9551420aad2230e77.zip
start writting Span.Real tests
Diffstat (limited to 'kamon-core/src/test/scala/kamon/trace')
-rw-r--r--kamon-core/src/test/scala/kamon/trace/RealSpanSpec.scala41
1 files changed, 41 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/trace/RealSpanSpec.scala b/kamon-core/src/test/scala/kamon/trace/RealSpanSpec.scala
new file mode 100644
index 00000000..61e651c2
--- /dev/null
+++ b/kamon-core/src/test/scala/kamon/trace/RealSpanSpec.scala
@@ -0,0 +1,41 @@
+package kamon.trace
+
+import kamon.testkit.{Reconfigure, TestSpanReporter}
+import kamon.util.Registration
+import kamon.Kamon
+import org.scalatest.concurrent.Eventually
+import org.scalatest.{BeforeAndAfterAll, Matchers, OptionValues, WordSpec}
+import org.scalatest.time.SpanSugar._
+
+class RealSpanSpec extends WordSpec with Matchers with BeforeAndAfterAll with Eventually with OptionValues with Reconfigure {
+
+ "a real span" when {
+ "sampled" should {
+ "be sent to the Span reporters" in {
+
+ Kamon.buildSpan("test-span")
+ .withSpanTag("test", "value")
+ .start()
+ .finish()
+
+ eventually(timeout(50 milliseconds)) {
+ val finishedSpan = reporter.nextSpan().value
+ finishedSpan.operationName shouldBe("test-span")
+ }
+ }
+ }
+ }
+
+ @volatile var registration: Registration = _
+ val reporter = new TestSpanReporter()
+
+ override protected def beforeAll(): Unit = {
+ enableFastSpanFlushing()
+ sampleAlways()
+ registration = Kamon.addReporter(reporter)
+ }
+
+ override protected def afterAll(): Unit = {
+ registration.cancel()
+ }
+}