aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Lemer <joshlemer@gmail.com>2017-12-24 11:45:29 -0600
committerJosh Lemer <joshlemer@gmail.com>2017-12-24 11:45:29 -0600
commit763a9f0bdd43e360a9e8869efba99dec8f07eced (patch)
tree232515582c0f82469b05a60362fb6e4c50ae187a
parentdcde8af7d1a380788681cfe28d2875d01e18aae3 (diff)
downloadsttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.tar.gz
sttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.tar.bz2
sttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.zip
Add TryHttpUrlConnection tests
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/MonadError.scala5
-rw-r--r--tests/src/test/scala/com/softwaremill/sttp/BasicTests.scala4
-rw-r--r--tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala6
3 files changed, 13 insertions, 2 deletions
diff --git a/core/src/main/scala/com/softwaremill/sttp/MonadError.scala b/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
index 0dcc02c..5751382 100644
--- a/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
@@ -44,11 +44,12 @@ object IdMonad extends MonadError[Id] {
object TryMonad extends MonadError[Try] {
override def unit[T](t: T): Try[T] = Success(t)
override def map[T, T2](fa: Try[T])(f: (T) => T2): Try[T2] = fa.map(f)
- override def flatMap[T, T2](fa: Try[T])(f: (T) => Try[T2]): Try[T2] = fa.flatMap(f)
+ override def flatMap[T, T2](fa: Try[T])(f: (T) => Try[T2]): Try[T2] =
+ fa.flatMap(f)
override def error[T](t: Throwable): Try[T] = Failure(t)
override protected def handleWrappedError[T](rt: Try[T])(
- h: PartialFunction[Throwable, Try[T]]): Try[T] = rt.recoverWith(h)
+ h: PartialFunction[Throwable, Try[T]]): Try[T] = rt.recoverWith(h)
}
class FutureMonad(implicit ec: ExecutionContext)
extends MonadAsyncError[Future] {
diff --git a/tests/src/test/scala/com/softwaremill/sttp/BasicTests.scala b/tests/src/test/scala/com/softwaremill/sttp/BasicTests.scala
index af5c5ae..3d38082 100644
--- a/tests/src/test/scala/com/softwaremill/sttp/BasicTests.scala
+++ b/tests/src/test/scala/com/softwaremill/sttp/BasicTests.scala
@@ -197,6 +197,10 @@ class BasicTests
runTests("HttpURLConnection")(HttpURLConnectionBackend(),
ForceWrappedValue.id)
+
+ runTests("TryHttpURLConnection")(TryHttpUrlConnectionBackend(),
+ ForceWrappedValue.scalaTry)
+
runTests("Akka HTTP")(AkkaHttpBackend.usingActorSystem(actorSystem),
ForceWrappedValue.future)
runTests("Async Http Client - Future")(AsyncHttpClientFutureBackend(),
diff --git a/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala b/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
index 4eea904..c926840 100644
--- a/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
+++ b/tests/src/test/scala/com/softwaremill/sttp/testHelpers.scala
@@ -15,6 +15,7 @@ import org.scalatest.{BeforeAndAfterAll, Suite}
import scala.concurrent.Future
import scala.concurrent.duration._
import scala.language.higherKinds
+import scala.util.Try
import scalaz._
trait TestHttpServer
@@ -50,6 +51,11 @@ object ForceWrappedValue extends ScalaFutures with TestingPatience {
override def force[T](wrapped: Id[T]): T =
wrapped
}
+
+ val scalaTry = new ForceWrappedValue[Try] {
+ override def force[T](wrapped: Try[T]): T = wrapped.get
+ }
+
val future = new ForceWrappedValue[Future] {
override def force[T](wrapped: Future[T]): T =