From f58c5d58b8b93f22992cc6b6a13a6405627aa1a1 Mon Sep 17 00:00:00 2001 From: Diego Date: Fri, 9 May 2014 16:03:44 -0300 Subject: + play: upgrade version to 2.3.RC1 and change Specs2 for ScalaTests --- .../kamon/play/RequestInstrumentationSpec.scala | 39 +++++++++-------- .../scala/kamon/play/WSInstrumentationSpec.scala | 49 ++++++---------------- 2 files changed, 32 insertions(+), 56 deletions(-) (limited to 'kamon-play/src') diff --git a/kamon-play/src/test/scala/kamon/play/RequestInstrumentationSpec.scala b/kamon-play/src/test/scala/kamon/play/RequestInstrumentationSpec.scala index 1ba82dc5..48c1f558 100644 --- a/kamon-play/src/test/scala/kamon/play/RequestInstrumentationSpec.scala +++ b/kamon-play/src/test/scala/kamon/play/RequestInstrumentationSpec.scala @@ -17,27 +17,26 @@ package kamon.play import play.api.test._ +import play.api.test.Helpers._ +import org.scalatestplus.play._ import play.api.mvc.{ Results, Action } import play.api.mvc.Results.Ok import scala.Some -import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future -import org.junit.runner.RunWith -import org.specs2.runner.JUnitRunner -import play.api.test.FakeApplication import kamon.play.action.TraceName -@RunWith(classOf[JUnitRunner]) -class RequestInstrumentationSpec extends PlaySpecification { +class RequestInstrumentationSpec extends PlaySpec with OneServerPerSuite { System.setProperty("config.file", "./kamon-play/src/test/resources/conf/application.conf") - def appWithRoutes = FakeApplication(withRoutes = { + val executor = scala.concurrent.ExecutionContext.Implicits.global + + implicit override lazy val app = FakeApplication(withRoutes = { case ("GET", "/async") ⇒ Action.async { Future { Ok("Async.async") - } + }(executor) } case ("GET", "/notFound") ⇒ Action { @@ -56,7 +55,7 @@ class RequestInstrumentationSpec extends PlaySpecification { Action.async { Future { Ok("Async.async") - } + }(executor) } } }) @@ -67,30 +66,30 @@ class RequestInstrumentationSpec extends PlaySpecification { private val traceTokenHeader = traceTokenHeaderName -> traceTokenValue "the Request instrumentation" should { - "respond to the Async Action with X-Trace-Token" in new WithServer(appWithRoutes) { + "respond to the Async Action with X-Trace-Token" in { val Some(result) = route(FakeRequest(GET, "/async").withHeaders(traceTokenHeader)) - header(traceTokenHeaderName, result) must equalTo(expectedToken) + header(traceTokenHeaderName, result) must be (expectedToken) } - "respond to the NotFound Action with X-Trace-Token" in new WithServer(appWithRoutes) { + "respond to the NotFound Action with X-Trace-Token" in { val Some(result) = route(FakeRequest(GET, "/notFound").withHeaders(traceTokenHeader)) - header(traceTokenHeaderName, result) must equalTo(expectedToken) + header(traceTokenHeaderName, result) must be (expectedToken) } - "respond to the Default Action with X-Trace-Token" in new WithServer(appWithRoutes) { + "respond to the Default Action with X-Trace-Token" in { val Some(result) = route(FakeRequest(GET, "/default").withHeaders(traceTokenHeader)) - header(traceTokenHeaderName, result) must equalTo(expectedToken) + header(traceTokenHeaderName, result) must be (expectedToken) } - "respond to the Redirect Action with X-Trace-Token" in new WithServer(appWithRoutes) { + "respond to the Redirect Action with X-Trace-Token" in { val Some(result) = route(FakeRequest(GET, "/redirect").withHeaders(traceTokenHeader)) - header("Location", result) must equalTo(Some("/redirected")) - header(traceTokenHeaderName, result) must equalTo(expectedToken) + header("Location", result) must be (Some("/redirected")) + header(traceTokenHeaderName, result) must be (expectedToken) } - "respond to the Async Action with X-Trace-Token and the renamed trace" in new WithServer(appWithRoutes) { + "respond to the Async Action with X-Trace-Token and the renamed trace" in { val Some(result) = route(FakeRequest(GET, "/async-renamed").withHeaders(traceTokenHeader)) - header(traceTokenHeaderName, result) must equalTo(expectedToken) + header(traceTokenHeaderName, result) must be (expectedToken) } } } \ No newline at end of file diff --git a/kamon-play/src/test/scala/kamon/play/WSInstrumentationSpec.scala b/kamon-play/src/test/scala/kamon/play/WSInstrumentationSpec.scala index f8801d8e..e9f5d992 100644 --- a/kamon-play/src/test/scala/kamon/play/WSInstrumentationSpec.scala +++ b/kamon-play/src/test/scala/kamon/play/WSInstrumentationSpec.scala @@ -1,5 +1,5 @@ /* =================================================== - * Copyright © 2013 2014 the kamon project + * Copyright © 2013-2014 the kamon project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,51 +16,28 @@ package kamon.play -import play.api.test._ import play.api.mvc.Action import play.api.mvc.Results.Ok -import scala.Some -import scala.concurrent.ExecutionContext.Implicits.global -import org.junit.runner.RunWith -import org.specs2.runner.JUnitRunner -import play.api.test.FakeApplication import play.api.libs.ws.WS -import play.api.Play.current -import scala.util._ -import scala.concurrent.Await -import scala.concurrent.duration._ +import org.scalatestplus.play.{OneServerPerSuite, PlaySpec} +import play.api.test._ +import play.api.test.Helpers._ -@RunWith(classOf[JUnitRunner]) -class WSInstrumentationSpec extends PlaySpecification { +class WSInstrumentationSpec extends PlaySpec with OneServerPerSuite { System.setProperty("config.file", "./kamon-play/src/test/resources/conf/application.conf") - def appWithRoutes = FakeApplication(withRoutes = { - case ("GET", "/async") ⇒ - Action { - val request = WS.url("http://maps.googleapis.com/maps/api/geocode/json?address=China&sensor=true").get() - - val future = request map { - response ⇒ (response.json \\ "location") - } - - val result = Await.result(future, 10 seconds).asInstanceOf[List[play.api.libs.json.JsObject]] - - val latitude = (result(0) \\ "lat")(0).toString - val longitude = (result(0) \\ "lng")(0).toString - - Ok(latitude + " " + longitude) - } + implicit override lazy val app = FakeApplication(withRoutes = { + case ("GET", "/async") ⇒ Action { Ok("ok") } }) "the WS instrumentation" should { - "respond to the Async Action and complete the WS request" in new WithServer(appWithRoutes) { - val Some(result) = route(FakeRequest(GET, "/async")) - result.onComplete { - case Success(result) ⇒ result.header.status must equalTo(200) - case Failure(throwable) ⇒ failure(throwable.getMessage) - } - Thread.sleep(2000) //wait to complete the future + "respond to the Async Action and complete the WS request" in { + val response = await(WS.url("http://localhost:19001/async").get()) + + response.status mustBe (OK) + + //Thread.sleep(2000) //wait to complete the future } } } \ No newline at end of file -- cgit v1.2.3