Search in sources :

Example 1 with MeteringService

use of com.emc.storageos.api.service.impl.resource.MeteringService in project coprhd-controller by CoprHD.

the class DbStatRetrieverTest method meteringXmlServiceDBRetrieverTest.

@Test
public void meteringXmlServiceDBRetrieverTest() throws WebApplicationException, IOException, JAXBException {
    deleteIfExists(XmlTestOutputFile);
    DummyDBClient dbClient = new DummyDBClient();
    MeteringService statResource = new MeteringService();
    // statResource.setDbClient(dbClient);
    DbStatRetriever dummyDbStatRetriever = new DbStatRetriever();
    dummyDbStatRetriever.setDbClient(dbClient);
    statResource.setStatRetriever(dummyDbStatRetriever);
    DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
    Response r = statResource.getStats("2012-01-01T00:00", 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);
    try {
        so.write(os);
    } finally {
        os.close();
    }
    JAXBContext context = null;
    Unmarshaller unmarshaller = null;
    context = JAXBContext.newInstance(Stats.class);
    unmarshaller = context.createUnmarshaller();
    Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile));
    Assert.assertTrue(o instanceof Stats);
    Stats stats = (Stats) o;
    // expected number of stats unmarshaled
    Assert.assertEquals(10, stats.stats.size());
    deleteIfExists(XmlTestOutputFile);
}
Also used : DummyHttpHeaders(com.emc.storageos.api.service.utils.DummyHttpHeaders) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) DbStatRetriever(com.emc.storageos.api.service.impl.resource.utils.DbStatRetriever) StreamingOutput(javax.ws.rs.core.StreamingOutput) JAXBContext(javax.xml.bind.JAXBContext) DummyDBClient(com.emc.storageos.api.service.utils.DummyDBClient) Response(javax.ws.rs.core.Response) MeteringService(com.emc.storageos.api.service.impl.resource.MeteringService) FileOutputStream(java.io.FileOutputStream) Stats(com.emc.storageos.api.service.utils.Stats) Unmarshaller(javax.xml.bind.Unmarshaller) File(java.io.File) Test(org.junit.Test)

Example 2 with MeteringService

use of com.emc.storageos.api.service.impl.resource.MeteringService in project coprhd-controller by CoprHD.

the class DbStatRetrieverTest method xmlStatIllegalTimeBucketArgumentTest.

@Test
public void xmlStatIllegalTimeBucketArgumentTest() throws WebApplicationException, IOException, JAXBException {
    deleteIfExists(XmlTestOutputFile);
    DummyDBClient dbClient = new DummyDBClient();
    MeteringService statResource = new MeteringService();
    statResource.setDbClient(dbClient);
    DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
    try {
        statResource.getStats("xxxyyy", header);
        Assert.fail("Expected a BadRequestException");
    } catch (BadRequestException e) {
        Assert.assertEquals(ServiceCode.API_PARAMETER_INVALID_TIME_FORMAT, e.getServiceCode());
    }
}
Also used : DummyHttpHeaders(com.emc.storageos.api.service.utils.DummyHttpHeaders) MeteringService(com.emc.storageos.api.service.impl.resource.MeteringService) BadRequestException(com.emc.storageos.svcs.errorhandling.resources.BadRequestException) DummyDBClient(com.emc.storageos.api.service.utils.DummyDBClient) Test(org.junit.Test)

Example 3 with MeteringService

use of com.emc.storageos.api.service.impl.resource.MeteringService in project coprhd-controller by CoprHD.

the class MeteringServiceTest method meteringServiceTestXML.

@Test
public void meteringServiceTestXML() throws WebApplicationException, IOException, JAXBException {
    deleteIfExists(XmlTestOutputFile);
    DummyStatRetriever dbStatRetriever = new DummyStatRetriever();
    MeteringService statResource = new MeteringService();
    statResource.setStatRetriever(dbStatRetriever);
    DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
    Response r = statResource.getStats("2012-08-08T00:00", 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(Stats.class);
    unmarshaller = context.createUnmarshaller();
    Object o = unmarshaller.unmarshal(new File(XmlTestOutputFile));
    Assert.assertTrue(o instanceof Stats);
    Stats stats = (Stats) o;
    // expected number of stats unmarshaled
    Assert.assertEquals(100, stats.stats.size());
    deleteIfExists(XmlTestOutputFile);
}
Also used : Response(javax.ws.rs.core.Response) DummyHttpHeaders(com.emc.storageos.api.service.utils.DummyHttpHeaders) MeteringService(com.emc.storageos.api.service.impl.resource.MeteringService) DummyStatRetriever(com.emc.storageos.api.service.utils.DummyStatRetriever) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) Stats(com.emc.storageos.api.service.utils.Stats) StreamingOutput(javax.ws.rs.core.StreamingOutput) JAXBContext(javax.xml.bind.JAXBContext) Unmarshaller(javax.xml.bind.Unmarshaller) File(java.io.File) Test(org.junit.Test)

Example 4 with MeteringService

use of com.emc.storageos.api.service.impl.resource.MeteringService in project coprhd-controller by CoprHD.

the class MeteringServiceTest method testMeteringServiceJSON.

@Test
public void testMeteringServiceJSON() throws WebApplicationException, IOException, JsonParseException {
    deleteIfExists(JsonTestOutputFile);
    DummyStatRetriever dbStatRetriever = new DummyStatRetriever();
    MeteringService statResource = new MeteringService();
    statResource.setStatRetriever(dbStatRetriever);
    DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_JSON_TYPE);
    Response r = statResource.getStats("2012-08-08T00", 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);
    try {
        so.write(os);
    } finally {
        os.close();
    }
    ObjectMapper mapper = null;
    mapper = new ObjectMapper();
    AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();
    mapper.getDeserializationConfig().withAnnotationIntrospector(introspector);
    Stats stats = mapper.readValue(new File(JsonTestOutputFile), Stats.class);
    Assert.assertEquals(100, stats.stats.size());
    deleteIfExists(JsonTestOutputFile);
}
Also used : Response(javax.ws.rs.core.Response) DummyHttpHeaders(com.emc.storageos.api.service.utils.DummyHttpHeaders) MeteringService(com.emc.storageos.api.service.impl.resource.MeteringService) DummyStatRetriever(com.emc.storageos.api.service.utils.DummyStatRetriever) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) JaxbAnnotationIntrospector(org.codehaus.jackson.xc.JaxbAnnotationIntrospector) AnnotationIntrospector(org.codehaus.jackson.map.AnnotationIntrospector) Stats(com.emc.storageos.api.service.utils.Stats) StreamingOutput(javax.ws.rs.core.StreamingOutput) File(java.io.File) ObjectMapper(org.codehaus.jackson.map.ObjectMapper) JaxbAnnotationIntrospector(org.codehaus.jackson.xc.JaxbAnnotationIntrospector) Test(org.junit.Test)

Example 5 with MeteringService

use of com.emc.storageos.api.service.impl.resource.MeteringService in project coprhd-controller by CoprHD.

the class DbStatRetrieverTest method statXmlServiceDBExceptionsTest.

@Test
public void statXmlServiceDBExceptionsTest() throws WebApplicationException, IOException, JAXBException {
    deleteIfExists(XmlTestOutputFile);
    DummyDBClient dbClient = new DummyDBClient();
    MeteringService statResource = new MeteringService();
    // statResource.setDbClient(dbClient);
    DbStatRetriever dummyDbStatRetriever = new DbStatRetriever();
    dummyDbStatRetriever.setDbClient(dbClient);
    statResource.setStatRetriever(dummyDbStatRetriever);
    DummyHttpHeaders header = new DummyHttpHeaders(MediaType.APPLICATION_XML_TYPE);
    Response r = statResource.getStats("2012-01-02T00:00", 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);
    try {
        so.write(os);
    } catch (Exception e) {
        Assert.assertTrue(e.toString().contains("I/O"));
    } finally {
        os.close();
    }
}
Also used : Response(javax.ws.rs.core.Response) DummyHttpHeaders(com.emc.storageos.api.service.utils.DummyHttpHeaders) MeteringService(com.emc.storageos.api.service.impl.resource.MeteringService) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) DbStatRetriever(com.emc.storageos.api.service.impl.resource.utils.DbStatRetriever) StreamingOutput(javax.ws.rs.core.StreamingOutput) File(java.io.File) DummyDBClient(com.emc.storageos.api.service.utils.DummyDBClient) IOException(java.io.IOException) JAXBException(javax.xml.bind.JAXBException) BadRequestException(com.emc.storageos.svcs.errorhandling.resources.BadRequestException) WebApplicationException(javax.ws.rs.WebApplicationException) Test(org.junit.Test)

Aggregations

MeteringService (com.emc.storageos.api.service.impl.resource.MeteringService)6 DummyHttpHeaders (com.emc.storageos.api.service.utils.DummyHttpHeaders)6 Test (org.junit.Test)6 DummyDBClient (com.emc.storageos.api.service.utils.DummyDBClient)4 File (java.io.File)4 FileOutputStream (java.io.FileOutputStream)4 OutputStream (java.io.OutputStream)4 Response (javax.ws.rs.core.Response)4 StreamingOutput (javax.ws.rs.core.StreamingOutput)4 Stats (com.emc.storageos.api.service.utils.Stats)3 BadRequestException (com.emc.storageos.svcs.errorhandling.resources.BadRequestException)3 DbStatRetriever (com.emc.storageos.api.service.impl.resource.utils.DbStatRetriever)2 DummyStatRetriever (com.emc.storageos.api.service.utils.DummyStatRetriever)2 JAXBContext (javax.xml.bind.JAXBContext)2 Unmarshaller (javax.xml.bind.Unmarshaller)2 IOException (java.io.IOException)1 WebApplicationException (javax.ws.rs.WebApplicationException)1 JAXBException (javax.xml.bind.JAXBException)1 AnnotationIntrospector (org.codehaus.jackson.map.AnnotationIntrospector)1 ObjectMapper (org.codehaus.jackson.map.ObjectMapper)1