aboutsummaryrefslogtreecommitdiff
path: root/core-testkit/src/main/scala/xyz/driver/core/testkit/AsyncDatabaseBackedRouteTest.scala
blob: 8ce33f6381b8f99ec1ade04bc2f7be14bb7b426d (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
package xyz.driver.core.testkit

import java.util.concurrent.Executors

import akka.actor.ActorSystem
import akka.http.scaladsl.server.directives.FutureDirectives
import akka.http.scaladsl.testkit.{RouteTestTimeout, ScalatestRouteTest}
import org.scalamock.scalatest.AsyncMockFactory
import org.scalatest.AsyncFlatSpec

import scala.concurrent.duration._
import scala.concurrent.{ExecutionContext, ExecutionContextExecutor}

trait AsyncDatabaseBackedRouteTest
    extends AsyncFlatSpec with DriverFunctionalTest with AsyncMockFactory with ScalatestRouteTest {

  def route: FutureDirectives

  val defaultTimeOut: FiniteDuration                                   = 5.seconds
  implicit def default(implicit system: ActorSystem): RouteTestTimeout = RouteTestTimeout(defaultTimeOut)

  override implicit val executor: ExecutionContextExecutor =
    ExecutionContext.fromExecutor(Executors.newFixedThreadPool(4))
  override implicit def executionContext: ExecutionContext = executor

  override def beforeAll: Unit = super.beforeAll()
  override def afterAll: Unit  = super.afterAll()
}