@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);
  }