From b49fe802dbcf1ab0be9467e6d45a1161d8468cd4 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 1 Aug 2013 15:48:01 +0100 Subject: [PATCH] #66 test for determination of empty body in NettyRequestAdapter --- .../servlet/NettyRequestAdapterSpec.groovy | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/betamax-proxy/src/test/groovy/co/freeside/betamax/message/servlet/NettyRequestAdapterSpec.groovy b/betamax-proxy/src/test/groovy/co/freeside/betamax/message/servlet/NettyRequestAdapterSpec.groovy index a39d9ab3..41428cee 100644 --- a/betamax-proxy/src/test/groovy/co/freeside/betamax/message/servlet/NettyRequestAdapterSpec.groovy +++ b/betamax-proxy/src/test/groovy/co/freeside/betamax/message/servlet/NettyRequestAdapterSpec.groovy @@ -3,10 +3,12 @@ package co.freeside.betamax.message.servlet import io.netty.buffer.Unpooled import io.netty.handler.codec.http.* import org.apache.commons.collections.iterators.* -import spock.lang.Specification +import spock.lang.* import static io.netty.handler.codec.http.HttpHeaders.Names.* import static io.netty.handler.codec.http.HttpMethod.GET +import static io.netty.util.CharsetUtil.UTF_8 +@Unroll class NettyRequestAdapterSpec extends Specification { private static final IteratorEnumeration EMPTY_ENUMERATION = new IteratorEnumeration(EmptyIterator.INSTANCE) @@ -101,4 +103,24 @@ class NettyRequestAdapterSpec extends Specification { request.bodyAsBinary.bytes == body } + void "request #description if the content buffer is #contentDescription"() { + given: + nettyRequest.content() >> content + + and: + def request = new NettyRequestAdapter(nettyRequest) + + expect: + request.hasBody() == consideredToHaveBody + + where: + content | consideredToHaveBody + Unpooled.copiedBuffer("O HAI", UTF_8) | true + Unpooled.EMPTY_BUFFER | false + null | false + + description = consideredToHaveBody ? "has a body" : "does not have a body" + contentDescription = content ? "${content.readableBytes()} bytes long" : "null" + } + }