Example usage for org.springframework.mock.web MockHttpServletResponse getContentAsByteArray

List of usage examples for org.springframework.mock.web MockHttpServletResponse getContentAsByteArray

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletResponse getContentAsByteArray.

Prototype

public byte[] getContentAsByteArray() 

Source Link

Usage

From source file:org.geoserver.wms.map.PDFGetMapTest.java

@Test
public void testTriangleFillOptimization() throws Exception {
    MockHttpServletResponse response = getAsServletResponse(
            requestBase + "&styles=triangle-fill&featureId=BasicPolygons.1107531493630");
    assertEquals("application/pdf", response.getContentType());

    File file = new File("./target/test.pdf");
    org.apache.commons.io.FileUtils.writeByteArrayToFile(file, response.getContentAsByteArray());

    PDTilingPattern tilingPattern = getTilingPattern(response.getContentAsByteArray());
    assertNotNull(tilingPattern);//w  ww  . j  a  va 2  s.  co m
    assertEquals(20, tilingPattern.getXStep(), 0d);
    assertEquals(20, tilingPattern.getYStep(), 0d);
}

From source file:org.geoserver.wms.map.PDFGetMapTest.java

@Test
public void testHatchFillOptimization() throws Exception {
    MockHttpServletResponse response = getAsServletResponse(
            requestBase + "&styles=hatch-fill&featureId=BasicPolygons.1107531493630");
    assertEquals("application/pdf", response.getContentType());

    // for hatches we keep the existing "set of parallel lines" optimization approach, need to determine
    // if we want to remove it or not yet
    PDTilingPattern tilingPattern = getTilingPattern(response.getContentAsByteArray());
    assertNull(tilingPattern);// www. j av a2  s .  c o m
}

From source file:org.geoserver.wps.gs.download.DownloadAnimationProcessTest.java

@Test
public void testAnimateBmTime() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("animateBlueMarble.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("video/mp4", response.getContentType());

    // JCodec API works off files only... 
    File testFile = new File("target/animateBmTime.mp4");
    FileUtils.writeByteArrayToFile(testFile, response.getContentAsByteArray());

    // check frames and duration
    Format f = JCodecUtil.detectFormat(testFile);
    Demuxer d = JCodecUtil.createDemuxer(f, testFile);
    DemuxerTrack vt = d.getVideoTracks().get(0);
    DemuxerTrackMeta dtm = vt.getMeta();
    assertEquals(4, dtm.getTotalFrames());
    assertEquals(8, dtm.getTotalDuration(), 0d);

    // grab frames for checking
    File source = new File("src/test/resources/org/geoserver/wps/gs/download/bm_time.zip");
    FrameGrab grabber = FrameGrab.createFrameGrab(NIOUtils.readableChannel(testFile));
    // first/*  w w  w  .  jav a 2 s .c o m*/
    BufferedImage frame1 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    BufferedImage expected1 = grabImageFromZip(source, "world.200402.3x5400x2700.tiff");
    ImageAssert.assertEquals(expected1, frame1, 100);
    // second
    BufferedImage frame2 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    BufferedImage expected2 = grabImageFromZip(source, "world.200403.3x5400x2700.tiff");
    ImageAssert.assertEquals(expected2, frame2, 100);
    // third
    BufferedImage frame3 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    BufferedImage expected3 = grabImageFromZip(source, "world.200404.3x5400x2700.tiff");
    ImageAssert.assertEquals(expected3, frame3, 100);
    // fourth
    BufferedImage frame4 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    BufferedImage expected4 = grabImageFromZip(source, "world.200405.3x5400x2700.tiff");
    ImageAssert.assertEquals(expected4, frame4, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadAnimationProcessTest.java

@Test
public void testAnimateDecoration() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("animateDecoration.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("video/mp4", response.getContentType());

    // JCodec API works off files only... 
    File testFile = new File("target/animateWaterDecoration.mp4");
    FileUtils.writeByteArrayToFile(testFile, response.getContentAsByteArray());

    // check frames and duration
    Format f = JCodecUtil.detectFormat(testFile);
    Demuxer d = JCodecUtil.createDemuxer(f, testFile);
    DemuxerTrack vt = d.getVideoTracks().get(0);
    DemuxerTrackMeta dtm = vt.getMeta();
    assertEquals(2, dtm.getTotalFrames());
    assertEquals(2, dtm.getTotalDuration(), 0d);

    // grab first frame for test
    FrameGrab grabber = FrameGrab.createFrameGrab(NIOUtils.readableChannel(testFile));
    BufferedImage frame1 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    ImageAssert.assertEquals(new File(SAMPLES + "animateDecorateFirstFrame.png"), frame1, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadAnimationProcessTest.java

@Test
public void testAnimateTimestamped() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("animateBlueMarbleTimestamped.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("video/mp4", response.getContentType());

    // JCodec API works off files only... 
    File testFile = new File("target/animateTimestamped.mp4");
    FileUtils.writeByteArrayToFile(testFile, response.getContentAsByteArray());

    // check frames and duration
    Format f = JCodecUtil.detectFormat(testFile);
    Demuxer d = JCodecUtil.createDemuxer(f, testFile);
    DemuxerTrack vt = d.getVideoTracks().get(0);
    DemuxerTrackMeta dtm = vt.getMeta();
    assertEquals(4, dtm.getTotalFrames());
    assertEquals(8, dtm.getTotalDuration(), 0d);

    // grab first frame for test
    FrameGrab grabber = FrameGrab.createFrameGrab(NIOUtils.readableChannel(testFile));
    BufferedImage frame1 = AWTUtil.toBufferedImage(grabber.getNativeFrame());
    ImageAssert.assertEquals(new File(SAMPLES + "animateBlueMarbleTimestampedFrame1.png"), frame1, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java

@Test
public void testExecuteSingleLayer() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("mapSimple.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("image/png", response.getContentType());
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(response.getContentAsByteArray()));
    ImageAssert.assertEquals(new File(SAMPLES + "mapSimple.png"), image, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java

@Test
public void testExecuteSingleLayerFilter() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("mapSimpleFilter.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("image/png", response.getContentType());
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(response.getContentAsByteArray()));
    ImageAssert.assertEquals(new File(SAMPLES + "mapSimpleFilter.png"), image, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java

@Test
public void testExecuteSingleDecorated() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("mapSimpleDecorated.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("image/png", response.getContentType());
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(response.getContentAsByteArray()));
    ImageAssert.assertEquals(new File(SAMPLES + "watermarked.png"), image, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java

@Test
public void testExecuteMultiName() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("mapMultiName.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("image/png", response.getContentType());
    assertEquals("inline; filename=result.png", response.getHeader("Content-disposition"));
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(response.getContentAsByteArray()));
    ImageAssert.assertEquals(new File(SAMPLES + "mapMultiName.png"), image, 100);
}

From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java

@Test
public void testExecuteMultiLayer() throws Exception {
    String xml = IOUtils.toString(getClass().getResourceAsStream("mapMultiLayer.xml"));
    MockHttpServletResponse response = postAsServletResponse("wps", xml);
    assertEquals("image/png", response.getContentType());
    BufferedImage image = ImageIO.read(new ByteArrayInputStream(response.getContentAsByteArray()));
    // not a typo, the output should indeed be the same as testExecuteMultiName
    ImageAssert.assertEquals(new File(SAMPLES + "mapMultiName.png"), image, 100);
}