List of usage examples for org.springframework.mock.web MockHttpServletResponse getContentAsByteArray
public byte[] getContentAsByteArray()
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); }