diff options
Diffstat (limited to 'src/test/scala/GoogleTracerSpec.scala')
-rw-r--r-- | src/test/scala/GoogleTracerSpec.scala | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test/scala/GoogleTracerSpec.scala b/src/test/scala/GoogleTracerSpec.scala new file mode 100644 index 0000000..fcdd73b --- /dev/null +++ b/src/test/scala/GoogleTracerSpec.scala @@ -0,0 +1,51 @@ +package xyz.driver.tracing + +import java.nio.file._ + +import akka.actor._ +import akka.stream._ +import akka.http.scaladsl.server.Directives._ +import akka.http.scaladsl.server._ +import akka.http.scaladsl.testkit.ScalatestRouteTest +import org.scalatest._ +import xyz.driver.tracing.TracingDirectives._ + +import scala.concurrent._ +import scala.concurrent.duration._ + +class GoogleTracerSpec extends FlatSpec { + + implicit val system = ActorSystem(this.getClass.getSimpleName) + import system.dispatcher + implicit val materializer = ActorMaterializer() + + "Google Tracer" should "submit" in { + val tracer = new GoogleTracer( + "driverinc-sandbox", + Paths.get( + system.settings.config.getString("tracing.google.service-account-file")) + ) + + // create 100 traces, each with 10 nested spans + for (_ <- 0 until 100) { + (0 until 10).foldLeft(Span(name = "trace-test.driver.xyz")) { + case (previous, i) => + val p: Span = previous + val span = Span( + name = s"trace-test.driver.xyz-$i", + traceId = previous.traceId, + parentSpanId = Some(previous.spanId) + ) + Thread.sleep(2) + val done = span.end() + tracer.submit(done) + done + } + } + + // TODO: automatically verify that traces were created on google stack driver + + Await.ready(tracer.close(), 30.seconds) + } + +} |