@Test public void auditServiceTestXML() throws WebApplicationException, IOException, JAXBException { deleteIfExists(XmlTestOutputFile); DummyAuditLogRetriever dbAuditLogRetriever = new DummyAuditLogRetriever(); AuditService auditResource = new AuditService(); auditResource.setAuditLogRetriever(dbAuditLogRetriever); DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE); Response r = auditResource.getAuditLogs("2012-08-08T00:00", "en_US", header); Assert.assertNotNull(r); Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus()); Assert.assertTrue(r.getEntity() instanceof StreamingOutput); StreamingOutput so = (StreamingOutput) r.getEntity(); File of = new File(XmlTestOutputFile); OutputStream os = new FileOutputStream(of); so.write(os); os.close(); JAXBContext context = null; Unmarshaller unmarshaller = null; context = JAXBContext.newInstance(AuditLogs.class); unmarshaller = context.createUnmarshaller(); Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile)); Assert.assertTrue(o instanceof AuditLogs); AuditLogs auditLogs = (AuditLogs) o; // expected number of auditLogs unmarshaled Assert.assertEquals(100, auditLogs.auditLogs.size()); deleteIfExists(XmlTestOutputFile); }
@Test public void auditServiceTestJSON() throws WebApplicationException, IOException, JsonParseException { deleteIfExists(JsonTestOutputFile); DummyAuditLogRetriever dbAuditLogRetriever = new DummyAuditLogRetriever(); AuditService auditResource = new AuditService(); auditResource.setAuditLogRetriever(dbAuditLogRetriever); DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_JSON_TYPE); Response r = auditResource.getAuditLogs("2012-08-08T00", "en_US", header); Assert.assertNotNull(r); Assert.assertEquals(Status.OK.getStatusCode(), r.getStatus()); Assert.assertTrue(r.getEntity() instanceof StreamingOutput); StreamingOutput so = (StreamingOutput) r.getEntity(); File of = new File(JsonTestOutputFile); OutputStream os = new FileOutputStream(of); so.write(os); os.close(); ObjectMapper mapper = null; mapper = new ObjectMapper(); AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(); mapper.getDeserializationConfig().withAnnotationIntrospector(introspector); AuditLogs auditLogs = mapper.readValue(new File(JsonTestOutputFile), AuditLogs.class); Assert.assertEquals(100, auditLogs.auditLogs.size()); deleteIfExists(JsonTestOutputFile); }