@Test
public void testWrongContentTypeInResponse() throws Exception {
Object[] components = {new MultiFormatWriterWithWrongProduces(), new MyResource()};
JaxRsHandler handler = HandlerCreator.getHandler("", components);
Request requestMock = EasyMock.createNiceMock(Request.class);
Response responseMock = EasyMock.createNiceMock(Response.class);
makeThreadSafe(responseMock, true);
//triaxrs has default writer for String, so the following isn't true:
//responseMock.setResponseStatus(ResponseStatus.NOT_ACCEPTABLE);
expect(requestMock.getMethod()).andReturn(Method.GET).anyTimes();
String[] acceptHeaders = {"test/string2;q=.8", "test/string4;q=.7"};
expect(requestMock.getHeaderNames()).andReturn(
Collections.singleton(HeaderName.ACCEPT)).anyTimes();
expect(requestMock.getHeaderValues(HeaderName.ACCEPT))
.andReturn(acceptHeaders).anyTimes();
RequestURI requestURI = EasyMock.createNiceMock(RequestURI.class);
expect(requestURI.getPath()).andReturn("/");
expect(requestMock.getRequestURI()).andReturn(requestURI).anyTimes();
replay(requestMock);
replay(requestURI);
replay(responseMock);
handler.handle(requestMock, responseMock);
assertTrue(!writerCalled);