aboutsummaryrefslogtreecommitdiff
path: root/core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala')
-rw-r--r--core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala b/core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala
new file mode 100644
index 0000000..25a7d8e
--- /dev/null
+++ b/core/src/test/scala/com/softwaremill/sttp/testing/ConvertToFuture.scala
@@ -0,0 +1,26 @@
+package com.softwaremill.sttp.testing
+
+import com.softwaremill.sttp.Id
+import scala.concurrent.Future
+import scala.language.higherKinds
+import scala.util.Try
+
+trait ConvertToFuture[R[_]] {
+ def toFuture[T](value: R[T]): Future[T]
+}
+
+object ConvertToFuture {
+
+ val id: ConvertToFuture[Id] = new ConvertToFuture[Id] {
+ override def toFuture[T](value: Id[T]): Future[T] =
+ Future.successful(value)
+ }
+
+ val future: ConvertToFuture[Future] = new ConvertToFuture[Future] {
+ override def toFuture[T](value: Future[T]): Future[T] = value
+ }
+
+ val scalaTry: ConvertToFuture[Try] = new ConvertToFuture[Try] {
+ override def toFuture[T](value: Try[T]): Future[T] = Future.fromTry(value)
+ }
+}