public void testReturn() throws Exception
{
Resource2 r2 = new Resource2();
registry(r2);
MultivaluedMap<String, String> h = new MultivaluedMapImpl();
ByteArrayContainerResponseWriter writer = new ByteArrayContainerResponseWriter();
h.putSingle("accept", "text/plain");
ContainerResponse response = launcher.service("GET", "/bytes", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/octet-stream", response.getContentType().toString());
assertEquals("to be or not to be".getBytes("UTF-8").length + "", response.getHttpHeaders().getFirst(
HttpHeaders.CONTENT_LENGTH).toString());
assertEquals("to be or not to be", new String(writer.getBody()));
response = launcher.service("GET", "/string", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("text/plain", response.getContentType().toString());
assertEquals("to be or not to be", new String(writer.getBody()));
response = launcher.service("GET", "/stream", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/octet-stream", response.getContentType().toString());
assertEquals("to be or not to be", new String(writer.getBody()));
response = launcher.service("GET", "/reader", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("text/plain", response.getContentType().toString());
assertEquals("to be or not to be", new String(writer.getBody()));
Pattern pattern = Pattern.compile("(<\\?xml .*\\?>)");
String xml = pattern.matcher(XML_DATA).replaceFirst("");
h.putSingle("accept", "application/xml");
response = launcher.service("GET", "/dom", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/xml", response.getContentType().toString());
String result = new String(writer.getBody());
result = pattern.matcher(result).replaceFirst("");
assertEquals(xml, result);
response = launcher.service("GET", "/sax", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/xml", response.getContentType().toString());
result = new String(writer.getBody());
result = pattern.matcher(result).replaceFirst("");
assertEquals(xml, result);
response = launcher.service("GET", "/ss", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/xml", response.getContentType().toString());
result = new String(writer.getBody());
result = pattern.matcher(result).replaceFirst("");
assertEquals(xml, result);
response = launcher.service("GET", "/so", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("application/octet-stream", response.getContentType().toString());
assertEquals("to be or not to be", new String(writer.getBody()));
response = launcher.service("GET", "/response", "", h, null, writer, null);
assertEquals(200, response.getStatus());
assertEquals("text/plain", response.getContentType().toString());
assertEquals("to be or not to be".getBytes("UTF-8").length + "", response.getHttpHeaders().getFirst(
HttpHeaders.CONTENT_LENGTH).toString());
assertEquals("to be or not to be", new String(writer.getBody()));
unregistry(r2);
}