aboutsummaryrefslogtreecommitdiff
path: root/kamon-spray/src/test/scala/kamon/spray/ClientRequestTracingSpec.scala
blob: c7ec2a5fff810cd34e22c46fadd1210d6c4a6039 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package kamon.spray

import akka.testkit.TestKit
import akka.actor.ActorSystem
import org.scalatest.WordSpecLike
import spray.httpx.RequestBuilding
import spray.client.pipelining._
import kamon.trace.{ UowTrace, Trace }
import scala.concurrent.Await

class ClientRequestTracingSpec extends TestKit(ActorSystem("server-request-tracing-spec")) with WordSpecLike with RequestBuilding with TestServer {
  implicit val ec = system.dispatcher

  "the client instrumentation" should {
    "record segments for a client http request" in {

      Trace.start("record-segments")(system)

      send {
        Get(s"http://127.0.0.1:$port/ok")

        // We don't care about the response, just make sure we finish the Trace after the response has been received.
      } map (rsp  Trace.finish())

      val trace = expectMsgType[UowTrace]
      println(trace.segments)
    }
  }

}