use of com.emc.storageos.api.service.impl.resource.utils.MarshallingExcetion in project coprhd-controller by CoprHD.
the class JSONAuditLogMarchallerTest method testJsonAuditLogMarshallingForIOExceptions.
@Test
public void testJsonAuditLogMarshallingForIOExceptions() throws URISyntaxException, IOException, MarshallingExcetion {
deleteIfExists(JsonTestOutputFile);
JSONAuditLogMarshaller jm = new JSONAuditLogMarshaller();
AuditLog log = new AuditLog();
log.setProductId("productId.2");
log.setTenantId(new URI("http://tenant.2"));
log.setUserId(new URI("http://user.2"));
log.setServiceType("serviceType.2");
log.setAuditType("auditType.2");
log.setDescription("description.2");
log.setOperationalStatus("operationalStatus.2");
OutputStream output = new OutputStream() {
private StringBuilder string = new StringBuilder();
@Override
public void write(int b) throws IOException {
this.string.append((char) b);
}
public String toString() {
return this.string.toString();
}
};
try {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output));
writer.close();
jm.header(writer);
} catch (MarshallingExcetion e) {
Assert.assertTrue(e.toString().contains("JSON head Streaming failed"));
}
try {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output));
writer.close();
jm.marshal(log, writer);
} catch (MarshallingExcetion e) {
Assert.assertTrue(e.toString().contains("JSON streaming failed"));
}
try {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output));
writer.close();
jm.tailer(writer);
} catch (MarshallingExcetion e) {
Assert.assertTrue(e.toString().contains("JSON tail Streaming failed"));
}
deleteIfExists(JsonTestOutputFile);
}
use of com.emc.storageos.api.service.impl.resource.utils.MarshallingExcetion in project coprhd-controller by CoprHD.
the class DbAuditLogRetrieverTest method auditServiceDBExceptionsTestJSON.
@Test
public void auditServiceDBExceptionsTestJSON() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(JsonTestOutputFile);
DummyDBClient dbClient = new DummyDBClient();
DbAuditLogRetriever dummyDbAuditLogRetriever = new DbAuditLogRetriever();
dummyDbAuditLogRetriever.setDbClient(dbClient);
String timeBucket = "2012-01-07T00";
DateTime startTime = new DateTime(timeBucket, DateTimeZone.UTC);
DateTime endTime = startTime.plusMinutes(59);
AuditLogRequest auditLogRequest = new AuditLogRequest.Builder().timeBucket(timeBucket).start(startTime).end(endTime).lang("en_US").build();
MediaType mediaType = MediaType.APPLICATION_JSON_TYPE;
File of = new File(JsonTestOutputFile);
OutputStream os = new FileOutputStream(of);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(os));
try {
dummyDbAuditLogRetriever.getBulkAuditLogs(auditLogRequest, mediaType, out);
} catch (MarshallingExcetion e) {
Assert.fail(e.getMessage());
}
out.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(10, auditLogs.auditLogs.size());
deleteIfExists(JsonTestOutputFile);
}
use of com.emc.storageos.api.service.impl.resource.utils.MarshallingExcetion in project coprhd-controller by CoprHD.
the class DbAuditLogRetrieverTest method auditServiceMarshallingExceptionsTestXML.
@Test
public void auditServiceMarshallingExceptionsTestXML() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
DummyDBClient dbClient = new DummyDBClient();
DbAuditLogRetriever dummyDbAuditLogRetriever = new DbAuditLogRetriever();
dummyDbAuditLogRetriever.setDbClient(dbClient);
String timeBucket = "2012-01-08T00";
AuditLogRequest auditLogRequest = getAuditLogRequest(timeBucket);
MediaType mediaType = MediaType.APPLICATION_XML_TYPE;
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(os));
try {
dummyDbAuditLogRetriever.getBulkAuditLogs(auditLogRequest, mediaType, out);
} catch (MarshallingExcetion e) {
Assert.assertTrue(true);
}
out.close();
}
use of com.emc.storageos.api.service.impl.resource.utils.MarshallingExcetion in project coprhd-controller by CoprHD.
the class DummyDBClient method queryTimeSeries.
@Override
public <T extends DataPoint> void queryTimeSeries(Class<? extends TimeSeries> tsType, DateTime timeBucket, TimeBucket bucket, TimeSeriesQueryResult<T> callback, ExecutorService workerThreads) throws DatabaseException {
if (timeBucket != null) {
MicrosecondsClock clock = new MicrosecondsClock();
UUID uuid = TimeUUIDUtils.getTimeUUID(clock);
// For timeBucket 2012-01-04T00:00 we return 10 events
if (timeBucket.toString().contains("2012-01-01T00:00")) {
try {
for (int i = 0; i < 10; i++) {
Stat st = new Stat();
st.setProject(new URI("http://project" + i));
st.setTenant(new URI("http://t." + i));
st.setUser(new URI("http://u." + i));
st.setVirtualPool(new URI("http://vpool.gold" + i));
callback.data((T) st, TimeUUIDUtils.getTimeFromUUID(uuid));
}
} catch (URISyntaxException e) {
_logger.error(e.getMessage(), e);
}
callback.done();
} else if (timeBucket.toString().contains("2012-01-02T00:00")) {
throw DatabaseException.retryables.dummyClientFailed();
} else if (timeBucket.toString().contains("2012-01-03T00:00")) {
callback.error(null);
} else if (timeBucket.toString().contains("2012-01-04T00:00")) {
try {
// TODO Auto-generated method stub
for (int i = 0; i < 10; i++) {
Event evt = new Event();
evt.setProjectId(new URI("http://project" + i));
evt.setEventId(String.valueOf(i));
evt.setTenantId(new URI("http://t." + i));
evt.setUserId(new URI("http://u." + i));
evt.setVirtualPool(new URI("http://vpool.gold" + i));
callback.data((T) evt, TimeUUIDUtils.getTimeFromUUID(uuid));
}
} catch (URISyntaxException e) {
_logger.error(e.getMessage(), e);
}
callback.done();
} else if (timeBucket.toString().contains("2012-01-05T00:00")) {
try {
throw new MarshallingExcetion("marshalling Exception", null);
} catch (MarshallingExcetion e) {
_logger.error(e.getMessage(), e);
}
} else if (timeBucket.toString().contains("2012-01-06T00:00")) {
callback.error(null);
} else if (timeBucket.toString().contains("2012-01-07T00:00")) {
try {
// TODO Auto-generated method stub
for (int i = 0; i < 10; i++) {
AuditLog log = new AuditLog();
log.setProductId("productId." + i);
log.setTenantId(new URI("http://tenant." + i));
log.setUserId(new URI("http://user." + i));
log.setServiceType("serviceType" + i);
log.setAuditType("auditType" + i);
log.setDescription("description" + i);
callback.data((T) log, TimeUUIDUtils.getTimeFromUUID(uuid));
}
} catch (URISyntaxException e) {
_logger.error(e.getMessage(), e);
}
callback.done();
} else if (timeBucket.toString().contains("2012-01-08T00:00")) {
try {
throw new MarshallingExcetion("marshalling Exception", null);
} catch (MarshallingExcetion e) {
_logger.error(e.getMessage(), e);
}
}
}
}
use of com.emc.storageos.api.service.impl.resource.utils.MarshallingExcetion in project coprhd-controller by CoprHD.
the class DbAuditLogRetrieverTest method auditServiceDBRetrieverTestXML.
@Test
public void auditServiceDBRetrieverTestXML() throws WebApplicationException, IOException, JAXBException {
deleteIfExists(XmlTestOutputFile);
DummyDBClient dbClient = new DummyDBClient();
DbAuditLogRetriever dummyDbAuditLogRetriever = new DbAuditLogRetriever();
dummyDbAuditLogRetriever.setDbClient(dbClient);
String timeBucket = "2012-01-07T00";
AuditLogRequest auditLogRequest = getAuditLogRequest(timeBucket);
MediaType mediaType = MediaType.APPLICATION_XML_TYPE;
File of = new File(XmlTestOutputFile);
OutputStream os = new FileOutputStream(of);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(os));
try {
dummyDbAuditLogRetriever.getBulkAuditLogs(auditLogRequest, mediaType, out);
} catch (MarshallingExcetion e) {
Assert.fail(e.getMessage());
}
out.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 events unmarshaled
Assert.assertEquals(10, auditLogs.auditLogs.size());
deleteIfExists(XmlTestOutputFile);
}
Aggregations