aboutsummaryrefslogtreecommitdiff
path: root/core-rest
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2018-10-04 13:52:14 -0700
committerJakob Odersky <jakob@odersky.com>2018-10-09 16:19:39 -0700
commit477804e21c3c61666a48b74f17caef04233c2363 (patch)
tree0f12c52e34850cac4ddeab99ae8b5d761f2dd3a3 /core-rest
parente67f49c20c6901bf77bcfb735254e44dc70c0cee (diff)
downloaddriver-core-477804e21c3c61666a48b74f17caef04233c2363.tar.gz
driver-core-477804e21c3c61666a48b74f17caef04233c2363.tar.bz2
driver-core-477804e21c3c61666a48b74f17caef04233c2363.zip
Fix dependencies in tests to accomodate project split
Diffstat (limited to 'core-rest')
-rw-r--r--core-rest/src/test/scala/xyz/driver/core/AuthTest.scala5
-rw-r--r--core-rest/src/test/scala/xyz/driver/core/rest/DriverAppTest.scala89
-rw-r--r--core-rest/src/test/scala/xyz/driver/core/rest/DriverRouteTest.scala14
3 files changed, 5 insertions, 103 deletions
diff --git a/core-rest/src/test/scala/xyz/driver/core/AuthTest.scala b/core-rest/src/test/scala/xyz/driver/core/AuthTest.scala
index 2e772fb..8c32aa7 100644
--- a/core-rest/src/test/scala/xyz/driver/core/AuthTest.scala
+++ b/core-rest/src/test/scala/xyz/driver/core/AuthTest.scala
@@ -9,11 +9,12 @@ import akka.http.scaladsl.model.headers.{
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server._
import akka.http.scaladsl.testkit.ScalatestRouteTest
+import com.typesafe.scalalogging.Logger
import org.scalatest.{FlatSpec, Matchers}
+import org.slf4j.helpers.NOPLogger
import pdi.jwt.{Jwt, JwtAlgorithm}
import xyz.driver.core.auth._
import xyz.driver.core.domain.Email
-import xyz.driver.core.logging._
import xyz.driver.core.rest._
import xyz.driver.core.rest.auth._
import xyz.driver.core.time.Time
@@ -53,7 +54,7 @@ class AuthTest extends FlatSpec with Matchers with ScalatestRouteTest {
val authorization = new ChainedAuthorization[User](tokenAuthorization, basicAuthorization)
- val authStatusService = new AuthProvider[User](authorization, NoLogger) {
+ val authStatusService = new AuthProvider[User](authorization, Logger(NOPLogger.NOP_LOGGER)) {
override def authenticatedUser(implicit ctx: ServiceRequestContext): OptionT[Future, User] =
OptionT.optionT[Future] {
if (ctx.contextHeaders.keySet.contains(AuthProvider.AuthenticationTokenHeader)) {
diff --git a/core-rest/src/test/scala/xyz/driver/core/rest/DriverAppTest.scala b/core-rest/src/test/scala/xyz/driver/core/rest/DriverAppTest.scala
deleted file mode 100644
index 324c8d8..0000000
--- a/core-rest/src/test/scala/xyz/driver/core/rest/DriverAppTest.scala
+++ /dev/null
@@ -1,89 +0,0 @@
-package xyz.driver.core.rest
-
-import akka.http.scaladsl.model.headers._
-import akka.http.scaladsl.model.{HttpMethod, StatusCodes}
-import akka.http.scaladsl.server.{Directives, Route}
-import akka.http.scaladsl.testkit.ScalatestRouteTest
-import com.typesafe.config.ConfigFactory
-import org.scalatest.{AsyncFlatSpec, Matchers}
-import xyz.driver.core.app.{DriverApp, SimpleModule}
-
-class DriverAppTest extends AsyncFlatSpec with ScalatestRouteTest with Matchers with Directives {
- val config = ConfigFactory.parseString("""
- |application {
- | cors {
- | allowedOrigins: ["example.com"]
- | }
- |}
- """.stripMargin).withFallback(ConfigFactory.load)
-
- val origin = Origin(HttpOrigin("https", Host("example.com")))
- val allowedOrigins = Set(HttpOrigin("https", Host("example.com")))
- val allowedMethods: collection.immutable.Seq[HttpMethod] = {
- import akka.http.scaladsl.model.HttpMethods._
- collection.immutable.Seq(GET, PUT, POST, PATCH, DELETE, OPTIONS, TRACE)
- }
-
- import scala.reflect.runtime.universe.typeOf
- class TestApp(testRoute: Route)
- extends DriverApp(
- appName = "test-app",
- version = "0.0.1",
- gitHash = "deadb33f",
- modules = Seq(new SimpleModule("test-module", theRoute = testRoute, routeType = typeOf[DriverApp])),
- config = config,
- log = xyz.driver.core.logging.NoLogger
- )
-
- it should "respond with the correct CORS headers for the swagger OPTIONS route" in {
- val route = new TestApp(get(complete(StatusCodes.OK)))
- Options(s"/api-docs/swagger.json").withHeaders(origin) ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- headers should contain(`Access-Control-Allow-Origin`(HttpOriginRange(allowedOrigins.toSeq: _*)))
- header[`Access-Control-Allow-Methods`].get.methods should contain theSameElementsAs allowedMethods
- }
- }
-
- it should "respond with the correct CORS headers for the test route" in {
- val route = new TestApp(get(complete(StatusCodes.OK)))
- Get(s"/api/v1/test").withHeaders(origin) ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- headers should contain(`Access-Control-Allow-Origin`(HttpOriginRange(allowedOrigins.toSeq: _*)))
- }
- }
-
- it should "respond with the correct CORS headers for a concatenated route" in {
- val route = new TestApp(get(complete(StatusCodes.OK)) ~ post(complete(StatusCodes.OK)))
- Post(s"/api/v1/test").withHeaders(origin) ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- headers should contain(`Access-Control-Allow-Origin`(HttpOriginRange(allowedOrigins.toSeq: _*)))
- }
- }
-
- it should "allow subdomains of allowed origin suffixes" in {
- val route = new TestApp(get(complete(StatusCodes.OK)))
- Get(s"/api/v1/test")
- .withHeaders(Origin(HttpOrigin("https", Host("foo.example.com")))) ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- headers should contain(`Access-Control-Allow-Origin`(HttpOrigin("https", Host("foo.example.com"))))
- }
- }
-
- it should "respond with default domains for invalid origins" in {
- val route = new TestApp(get(complete(StatusCodes.OK)))
- Get(s"/api/v1/test")
- .withHeaders(Origin(HttpOrigin("https", Host("invalid.foo.bar.com")))) ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- headers should contain(`Access-Control-Allow-Origin`(HttpOriginRange.*))
- }
- }
-
- it should "respond with Pragma and Cache-Control (no-cache) headers" in {
- val route = new TestApp(get(complete(StatusCodes.OK)))
- Get(s"/api/v1/test") ~> route.appRoute ~> check {
- status shouldBe StatusCodes.OK
- header("Pragma").map(_.value()) should contain("no-cache")
- header[`Cache-Control`].map(_.value()) should contain("no-cache")
- }
- }
-}
diff --git a/core-rest/src/test/scala/xyz/driver/core/rest/DriverRouteTest.scala b/core-rest/src/test/scala/xyz/driver/core/rest/DriverRouteTest.scala
index cc0019a..d1172fa 100644
--- a/core-rest/src/test/scala/xyz/driver/core/rest/DriverRouteTest.scala
+++ b/core-rest/src/test/scala/xyz/driver/core/rest/DriverRouteTest.scala
@@ -8,8 +8,8 @@ import akka.http.scaladsl.server.{Directives, RejectionHandler, Route}
import akka.http.scaladsl.testkit.ScalatestRouteTest
import com.typesafe.scalalogging.Logger
import org.scalatest.{AsyncFlatSpec, Matchers}
+import org.slf4j.helpers.NOPLogger
import xyz.driver.core.json.serviceExceptionFormat
-import xyz.driver.core.logging.NoLogger
import xyz.driver.core.rest.errors._
import scala.concurrent.Future
@@ -17,7 +17,7 @@ import scala.concurrent.Future
class DriverRouteTest
extends AsyncFlatSpec with ScalatestRouteTest with SprayJsonSupport with Matchers with Directives {
class TestRoute(override val route: Route) extends DriverRoute {
- override def log: Logger = NoLogger
+ override def log: Logger = Logger(NOPLogger.NOP_LOGGER)
}
"DriverRoute" should "respond with 200 OK for a basic route" in {
@@ -94,16 +94,6 @@ class DriverRouteTest
}
}
- it should "respond with a 500 for DatabaseException" in {
- val route = new TestRoute(akkaComplete(Future.failed[String](DatabaseException())))
-
- Post("/api/v1/foo/bar") ~> route.routeWithDefaults ~> check {
- handled shouldBe true
- status shouldBe StatusCodes.InternalServerError
- responseAs[ServiceException] shouldBe DatabaseException()
- }
- }
-
it should "add a `Connection: close` header to avoid clashing with envoy's timeouts" in {
val rejectionHandler = RejectionHandler.newBuilder().handleNotFound(complete(StatusCodes.NotFound)).result()
val route = new TestRoute(handleRejections(rejectionHandler)((get & path("foo"))(complete("OK"))))