Skip to content

Commit

Permalink
Add test for toHttp FromASCIIString (#1176)
Browse files Browse the repository at this point in the history
  • Loading branch information
d11-amitsingh authored Apr 1, 2022
1 parent 9d2da98 commit e2e3561
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
6 changes: 4 additions & 2 deletions zio-http/src/main/scala/zhttp/http/HttpData.scala
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,14 @@ object HttpData {

private[zhttp] case class FromAsciiString(asciiString: AsciiString) extends Complete {

private def encode: ByteBuf = Unpooled.wrappedBuffer(asciiString.array())

/**
* Encodes the HttpData into a ByteBuf. Takes in ByteBufConfig to have a
* more fine grained control over the encoding.
*/
override def toByteBuf(config: ByteBufConfig): Task[ByteBuf] =
ZIO.attempt(Unpooled.wrappedBuffer(asciiString.array()))
ZIO.attempt(encode)

/**
* Encodes the HttpData into a Stream of ByteBufs. Takes in ByteBufConfig to
Expand All @@ -193,7 +195,7 @@ object HttpData {
* in certain cases. Takes in ByteBufConfig to have a more fine grained
* control over the encoding.
*/
override def toHttp(config: ByteBufConfig): Http[Any, Throwable, Any, ByteBuf] = ???
override def toHttp(config: ByteBufConfig): Http[Any, Throwable, Any, ByteBuf] = Http.attempt(encode)
}

private[zhttp] final case class BinaryChunk(data: Chunk[Byte]) extends Complete {
Expand Down
9 changes: 8 additions & 1 deletion zio-http/src/test/scala/zhttp/service/ServerSpec.scala
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package zhttp.service

import io.netty.util.AsciiString
import zhttp.html._
import zhttp.http._
import zhttp.internal.{DynamicServer, HttpGen, HttpRunnableSpec}
Expand Down Expand Up @@ -266,7 +267,13 @@ object ServerSpec extends HttpRunnableSpec {
equalTo(c),
)
}
}
} +
test("FromASCIIString: toHttp") {
checkAll(Gen.asciiString) { payload =>
val res = HttpData.fromAsciiString(AsciiString.cached(payload)).toHttp.map(_.toString(HTTP_CHARSET))
assertM(res.run())(equalTo(payload))
}
}
}

def serverErrorSpec = suite("ServerErrorSpec") {
Expand Down

0 comments on commit e2e3561

Please sign in to comment.