diff options
author | Josh Lemer <joshlemer@gmail.com> | 2017-12-24 11:45:29 -0600 |
---|---|---|
committer | Josh Lemer <joshlemer@gmail.com> | 2017-12-24 11:45:29 -0600 |
commit | 763a9f0bdd43e360a9e8869efba99dec8f07eced (patch) | |
tree | 232515582c0f82469b05a60362fb6e4c50ae187a | |
parent | dcde8af7d1a380788681cfe28d2875d01e18aae3 (diff) | |
download | sttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.tar.gz sttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.tar.bz2 sttp-763a9f0bdd43e360a9e8869efba99dec8f07eced.zip |
Add TryHttpUrlConnection tests
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 = |