aboutsummaryrefslogtreecommitdiff
path: root/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
diff options
context:
space:
mode:
authorBjørn Madsen <bm@aeons.dk>2017-08-30 14:00:19 +0200
committerBjørn Madsen <bm@aeons.dk>2017-08-30 14:00:19 +0200
commita0491dc1f48c82904b7865ce9c0e2d8b11d4dca8 (patch)
tree3fbb79a9d961a068bd01ad5f87c67b175ac2831d /tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
parentdba1836f72dc38ab14ab4bb614b4101a80e97552 (diff)
downloadsttp-a0491dc1f48c82904b7865ce9c0e2d8b11d4dca8.tar.gz
sttp-a0491dc1f48c82904b7865ce9c0e2d8b11d4dca8.tar.bz2
sttp-a0491dc1f48c82904b7865ce9c0e2d8b11d4dca8.zip
Add tests for fs2 module and refactor streaming tests
Diffstat (limited to 'tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala')
-rw-r--r--tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala86
1 files changed, 48 insertions, 38 deletions
diff --git a/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala b/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
index 59e1612..407aaca 100644
--- a/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
+++ b/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
@@ -7,12 +7,13 @@ import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.server.Route
import akka.stream.ActorMaterializer
-import org.scalatest.{BeforeAndAfterAll, Suite}
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.exceptions.TestFailedException
import org.scalatest.matchers.{MatchResult, Matcher}
+import org.scalatest.{BeforeAndAfterAll, Suite}
import scala.concurrent.Future
+import scala.concurrent.duration._
import scala.language.higherKinds
import scalaz._
@@ -36,45 +37,54 @@ trait TestHttpServer extends BeforeAndAfterAll with ScalaFutures {
def port: Int
}
-trait ForceWrapped extends ScalaFutures { this: Suite =>
- trait ForceWrappedValue[R[_]] {
- def force[T](wrapped: R[T]): T
+trait ForceWrappedValue[R[_]] {
+ def force[T](wrapped: R[T]): T
+}
+
+object ForceWrappedValue extends ScalaFutures {
+ override implicit val patienceConfig: PatienceConfig =
+ PatienceConfig(timeout = 5.seconds, interval = 150.milliseconds)
+
+ val id = new ForceWrappedValue[Id] {
+ override def force[T](wrapped: Id[T]): T =
+ wrapped
}
- object ForceWrappedValue {
- val id = new ForceWrappedValue[Id] {
- override def force[T](wrapped: Id[T]): T =
- wrapped
- }
- val future = new ForceWrappedValue[Future] {
- override def force[T](wrapped: Future[T]): T =
- try {
- wrapped.futureValue
- } catch {
- case e: TestFailedException if e.getCause != null => throw e.getCause
- }
- }
- val scalazTask = new ForceWrappedValue[scalaz.concurrent.Task] {
- override def force[T](wrapped: scalaz.concurrent.Task[T]): T =
- wrapped.unsafePerformSyncAttempt match {
- case -\/(error) => throw error
- case \/-(value) => value
- }
- }
- val monixTask = new ForceWrappedValue[monix.eval.Task] {
- import monix.execution.Scheduler.Implicits.global
-
- override def force[T](wrapped: monix.eval.Task[T]): T =
- try {
- wrapped.runAsync.futureValue
- } catch {
- case e: TestFailedException => throw e.getCause
- }
- }
- val catsIo = new ForceWrappedValue[cats.effect.IO] {
- override def force[T](wrapped: cats.effect.IO[T]): T =
- wrapped.unsafeRunSync
- }
+ val future = new ForceWrappedValue[Future] {
+
+ override def force[T](wrapped: Future[T]): T =
+ try {
+ wrapped.futureValue
+ } catch {
+ case e: TestFailedException if e.getCause != null => throw e.getCause
+ }
+ }
+ val scalazTask = new ForceWrappedValue[scalaz.concurrent.Task] {
+ override def force[T](wrapped: scalaz.concurrent.Task[T]): T =
+ wrapped.unsafePerformSyncAttempt match {
+ case -\/(error) => throw error
+ case \/-(value) => value
+ }
+ }
+ val monixTask = new ForceWrappedValue[monix.eval.Task] {
+ import monix.execution.Scheduler.Implicits.global
+
+ override def force[T](wrapped: monix.eval.Task[T]): T =
+ try {
+ wrapped.runAsync.futureValue
+ } catch {
+ case e: TestFailedException => throw e.getCause
+ }
}
+ val catsIo = new ForceWrappedValue[cats.effect.IO] {
+ override def force[T](wrapped: cats.effect.IO[T]): T =
+ wrapped.unsafeRunSync
+ }
+}
+
+trait ForceWrapped extends ScalaFutures { this: Suite =>
+ type ForceWrappedValue[R[_]] = com.softwaremill.sttp.ForceWrappedValue[R]
+ val ForceWrappedValue: com.softwaremill.sttp.ForceWrappedValue.type =
+ com.softwaremill.sttp.ForceWrappedValue
implicit class ForceDecorator[R[_], T](wrapped: R[T]) {
def force()(implicit fwv: ForceWrappedValue[R]): T = fwv.force(wrapped)