package org.civilian.processor; import java.io.ByteArrayOutputStream; import java.util.zip.DeflaterOutputStream; import org.civilian.CivTest; import org.civilian.context.test.TestRequest; import org.junit.Test; public class DecompressorTest extends CivTest { @Test public void test() throws Exception { request_ = new TestRequest(); decompressor_ = new Decompressor(); request_.setContent("a"); assertProcess(null, "a"); assertProcess("unknown", "a"); assertProcess("identity", "a"); ByteArrayOutputStream bout = new ByteArrayOutputStream(); DeflaterOutputStream dout = new DeflaterOutputStream(bout); dout.write('a'); dout.close(); request_.setContent(bout.toByteArray()); assertProcess("deflate", "a"); } private void assertProcess(String contentEncoding, String readContent) throws Exception { request_.getHeaders().set("Content-Encoding", contentEncoding); // process always returns false assertFalse(decompressor_.process(request_, ProcessorChain.EMPTY)); assertEquals(readContent, request_.readContent(String.class)); request_.resetContentInput(); } private TestRequest request_; private Decompressor decompressor_; }