aboutsummaryrefslogtreecommitdiff
path: root/tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala')
-rw-r--r--tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala b/tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala
new file mode 100644
index 0000000..53fe63e
--- /dev/null
+++ b/tests/src/test/scala/com/softwaremill/sttp/streaming/AkkaStreamingTests.scala
@@ -0,0 +1,29 @@
+package com.softwaremill.sttp.streaming
+
+import akka.NotUsed
+import akka.actor.ActorSystem
+import akka.stream.Materializer
+import akka.stream.scaladsl.Source
+import akka.util.ByteString
+import com.softwaremill.sttp.{ForceWrappedValue, SttpHandler}
+import com.softwaremill.sttp.akkahttp.AkkaHttpSttpHandler
+
+import scala.concurrent.Future
+
+class AkkaStreamingTests(actorSystem: ActorSystem)(
+ implicit materializer: Materializer)
+ extends TestStreamingHandler[Future, Source[ByteString, Any]] {
+
+ override implicit val handler: SttpHandler[Future, Source[ByteString, Any]] =
+ AkkaHttpSttpHandler.usingActorSystem(actorSystem)
+
+ override implicit val forceResponse: ForceWrappedValue[Future] =
+ ForceWrappedValue.future
+
+ override def bodyProducer(body: String): Source[ByteString, NotUsed] =
+ Source.single(ByteString(body))
+
+ override def bodyConsumer(stream: Source[ByteString, Any]): Future[String] =
+ stream.map(_.utf8String).runReduce(_ + _)
+
+}