aboutsummaryrefslogtreecommitdiff
path: root/tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala')
-rw-r--r--tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala b/tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala
new file mode 100644
index 0000000..b55d104
--- /dev/null
+++ b/tests/src/test/scala/com/softwaremill/sttp/streaming/AsyncHttpClientFs2StreamingTests.scala
@@ -0,0 +1,29 @@
+package com.softwaremill.sttp.streaming
+
+import java.nio.ByteBuffer
+
+import cats.effect._
+import cats.implicits._
+import com.softwaremill.sttp.asynchttpclient.fs2.AsyncHttpClientFs2Handler
+import com.softwaremill.sttp.{ForceWrappedValue, SttpHandler}
+import fs2._
+
+class AsyncHttpClientFs2StreamingTests
+ extends TestStreamingHandler[IO, Stream[IO, ByteBuffer]] {
+
+ override implicit val handler: SttpHandler[IO, Stream[IO, ByteBuffer]] =
+ AsyncHttpClientFs2Handler[IO]()
+
+ override implicit val forceResponse: ForceWrappedValue[IO] =
+ ForceWrappedValue.catsIo
+
+ override def bodyProducer(body: String): Stream[IO, ByteBuffer] =
+ Stream.emits(body.getBytes("utf-8").map(b => ByteBuffer.wrap(Array(b))))
+
+ override def bodyConsumer(stream: Stream[IO, ByteBuffer]): IO[String] =
+ stream
+ .map(bb => Chunk.array(bb.array))
+ .through(text.utf8DecodeC)
+ .runFoldMonoid
+
+}