@Test public void testServerWebApplicationExceptionXMLWithProxy() throws Exception { BookStore proxy = JAXRSClientFactory.create("http://localhost:" + PORT, BookStore.class); try { proxy.throwExceptionXML(); fail("Exception expected"); } catch (NotAcceptableException ex) { assertEquals(406, ex.getResponse().getStatus()); Book exBook = ex.getResponse().readEntity(Book.class); assertEquals("Exception", exBook.getName()); assertEquals(999L, exBook.getId()); } }
@Test public void testNotAcceptableLdprs() { when(mockTrellisRequest.getAcceptableMediaTypes()).thenReturn(singletonList(APPLICATION_JSON_TYPE)); final GetHandler handler = new GetHandler(mockTrellisRequest, mockBundler, false, true, true, null, baseUrl); final Response res = assertThrows(NotAcceptableException.class, () -> unwrapAsyncError(handler.getRepresentation(handler.standardHeaders(handler.initialize(mockResource)))), "No error thrown when given an unaccepable media type!").getResponse(); assertEquals(NOT_ACCEPTABLE, res.getStatusInfo(), "Incorrect response code!"); }
@Test public void testServerWebApplicationExceptionXML() throws Exception { WebClient wc = WebClient.create("http://localhost:" + PORT + "/bookstore/webappexceptionXML"); wc.accept("application/xml"); try { wc.get(Book.class); fail("Exception expected"); } catch (NotAcceptableException ex) { assertEquals(406, ex.getResponse().getStatus()); Book exBook = ex.getResponse().readEntity(Book.class); assertEquals("Exception", exBook.getName()); assertEquals(999L, exBook.getId()); } }