blob: f73833fa14f8908bacc0c2559b59f4ce44928edd (
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 com.softwaremill.sttp.testing
import org.scalatest.Suite
import org.scalatest.concurrent.{PatienceConfiguration, ScalaFutures}
import org.scalatest.exceptions.TestFailedException
import scala.concurrent.Future
import scala.concurrent.duration._
import scala.language.higherKinds
trait ForceWrapped extends ScalaFutures with TestingPatience { this: Suite =>
implicit class ForceDecorator[R[_], T](wrapped: R[T]) {
def toFuture()(implicit ctf: ConvertToFuture[R]): Future[T] =
ctf.toFuture(wrapped)
def force()(implicit ctf: ConvertToFuture[R]): T = {
try {
ctf.toFuture(wrapped).futureValue
} catch {
case e: TestFailedException if e.getCause != null => throw e.getCause
}
}
}
}
trait TestingPatience extends PatienceConfiguration {
override implicit val patienceConfig: PatienceConfig =
PatienceConfig(timeout = 5.seconds, interval = 150.milliseconds)
}
|