List of usage examples for org.springframework.mock.web MockHttpServletResponse getHeader
@Override
@Nullable
public String getHeader(String name)
From source file:org.geoserver.rest.resources.ResourceControllerTest.java
@Test public void testDirectoryHeaders() throws Exception { MockHttpServletResponse response = getAsServletResponse( RestBaseController.ROOT_PATH + "/resource/mydir?format=xml"); Assert.assertEquals(FORMAT_HEADER.format(myRes.parent().lastmodified()), response.getHeader("Last-Modified")); Assert.assertEquals("http://localhost:8080/geoserver" + RestBaseController.ROOT_PATH + "/resource/", response.getHeader("Resource-Parent")); Assert.assertEquals("directory", response.getHeader("Resource-Type")); assertContentType("application/xml", response); }
From source file:org.geoserver.rest.resources.ResourceControllerTest.java
@Test public void testDirectoryHead() throws Exception { MockHttpServletResponse response = headAsServletResponse( RestBaseController.ROOT_PATH + "/resource/mydir?format=xml"); Assert.assertEquals(FORMAT_HEADER.format(myRes.parent().lastmodified()), response.getHeader("Last-Modified")); Assert.assertEquals("http://localhost:8080/geoserver" + RestBaseController.ROOT_PATH + "/resource/", response.getHeader("Resource-Parent")); Assert.assertEquals("directory", response.getHeader("Resource-Type")); assertContentType("application/xml", response); }
From source file:org.geoserver.restupload.ResumableUploadTest.java
@Test public void testPartialUpload() throws Exception { String uploadId = sendPostRequest(); MockHttpServletRequest request = createRequest("/rest/resumableupload/" + uploadId); request.setMethod("PUT"); request.setContentType("application/octet-stream"); byte[] bigFile = generateFileAsBytes(); byte[] partialFile = ArrayUtils.subarray(bigFile, 0, (int) partialSize); request.setContent(partialFile);// ww w . j a v a2s. c o m request.addHeader("Content-type", "application/octet-stream"); request.addHeader("Content-Length", String.valueOf(bigFile.length)); MockHttpServletResponse response = dispatch(request); assertEquals(ResumableUploadCatalogResource.RESUME_INCOMPLETE.getCode(), response.getStatus()); assertEquals(null, response.getHeader("Content-Length")); assertEquals("0-" + (partialSize - 1), response.getHeader("Range")); File uploadedFile = getTempPath(uploadId); assertTrue(uploadedFile.exists()); assertEquals(partialSize, uploadedFile.length()); boolean checkBytes = Arrays.equals(partialFile, toBytes(new FileInputStream(uploadedFile))); assertTrue(checkBytes); }
From source file:org.geoserver.restupload.ResumableUploadTest.java
@Test public void testUploadPartialResume() throws Exception { String uploadId = sendPostRequest(); byte[] bigFile = generateFileAsBytes(); byte[] partialFile1 = ArrayUtils.subarray(bigFile, 0, (int) partialSize); // First upload MockHttpServletRequest request = createRequest("/rest/resumableupload/" + uploadId); request.setMethod("PUT"); request.setContentType("application/octet-stream"); request.setContent(partialFile1);// w w w. j a v a 2 s. c om request.addHeader("Content-type", "application/octet-stream"); request.addHeader("Content-Length", String.valueOf(bigFile.length)); dispatch(request); // Resume upload request = createRequest("/rest/resumableupload/" + uploadId); request.setMethod("PUT"); request.setContentType("application/octet-stream"); byte[] partialFile2 = ArrayUtils.subarray(bigFile, (int) partialSize, (int) partialSize * 2); request.setContent(partialFile2); request.addHeader("Content-type", "application/octet-stream"); request.addHeader("Content-Length", String.valueOf(partialFile2.length)); request.addHeader("Content-Range", "bytes " + partialSize + "-" + partialSize * 2 + "/" + bigFile.length); MockHttpServletResponse response = dispatch(request); assertEquals(ResumableUploadCatalogResource.RESUME_INCOMPLETE.getCode(), response.getStatus()); assertEquals(null, response.getHeader("Content-Length")); assertEquals("0-" + (partialSize * 2 - 1), response.getHeader("Range")); File uploadedFile = getTempPath(uploadId); assertTrue(uploadedFile.exists()); assertEquals(partialSize * 2, uploadedFile.length()); // Check uploaded file byte by byte boolean checkBytes = Arrays.equals(ArrayUtils.addAll(partialFile1, partialFile2), toBytes(new FileInputStream(uploadedFile))); assertTrue(checkBytes); }
From source file:org.geoserver.restupload.ResumableUploadTest.java
@Test public void testGetAfterPartial() throws Exception { String uploadId = sendPostRequest(); byte[] bigFile = generateFileAsBytes(); byte[] partialFile = ArrayUtils.subarray(bigFile, 0, (int) partialSize); // First upload MockHttpServletRequest request = createRequest("/rest/resumableupload/" + uploadId); request.setMethod("PUT"); request.setContentType("application/octet-stream"); request.setContent(partialFile);/* w w w.j av a 2 s . co m*/ request.addHeader("Content-type", "application/octet-stream"); request.addHeader("Content-Length", String.valueOf(bigFile.length)); dispatch(request); File uploadedFile = getTempPath(uploadId); assertTrue(uploadedFile.exists()); MockHttpServletResponse response = getAsServletResponse("/rest/resumableupload/" + uploadId, "text/plain"); assertEquals(ResumableUploadCatalogResource.RESUME_INCOMPLETE.getCode(), response.getStatus()); assertEquals(null, response.getHeader("Content-Length")); assertEquals("0-" + (partialSize - 1), response.getHeader("Range")); }
From source file:org.geoserver.wcs.responses.GHRSSTWCSTest.java
/** * Test NetCDF output from a coverage view having the required GHRSST bands/variables *//*from w ww.jav a2 s . c o m*/ @Test public void testGHRSST() throws Exception { MockHttpServletResponse response = getAsServletResponse("ows?request=GetCoverage&service=WCS&version=2.0.1" + "&coverageid=" + getLayerId(SST).replace(":", "__") + "&format=application/x-netcdf"); assertEquals(200, response.getStatus()); assertEquals("application/x-netcdf", response.getContentType()); // hope the file name structure is correct, not 100% sure String contentDispostion = response.getHeader("Content-disposition"); assertEquals("inline; filename=19121213214553-EUR-L3U_GHRSST-SSTint-AVHRR_METOP_A-v02.0-fv01.0.nc", contentDispostion); byte[] responseBytes = getBinary(response); File file = File.createTempFile("ghrsst", ".nc", new File("./target")); FileUtils.writeByteArrayToFile(file, responseBytes); try (NetcdfDataset dataset = NetcdfDataset.openDataset(file.getAbsolutePath(), true, null)) { assertNotNull(dataset); // check global attributes Map<String, Attribute> globalAttributes = getGlobalAttributeMap(dataset); assertNotNull(globalAttributes.get("uuid")); UUID.fromString(globalAttributes.get("uuid").getStringValue()); assertNotNull(globalAttributes.get("date_created")); assertNotNull(globalAttributes.get("spatial_resolution")); // input test file is a freak that really has this resolution, as verified with gdalinfo // e.g. gdalinfo NETCDF:"sst-orbit053.nc":"sea_surface_temperature" assertEquals("179.9499969482422 degrees", globalAttributes.get("spatial_resolution").getStringValue()); // likewise, it really has time time assertNotNull(globalAttributes.get("start_time")); assertNotNull(globalAttributes.get("time_coverage_start")); assertEquals("19121213T204553Z", globalAttributes.get("start_time").getStringValue()); assertEquals("19121213T204553Z", globalAttributes.get("time_coverage_start").getStringValue()); assertNotNull(globalAttributes.get("stop_time")); assertNotNull(globalAttributes.get("time_coverage_end")); assertEquals("19121213T204553Z", globalAttributes.get("stop_time").getStringValue()); assertEquals("19121213T204553Z", globalAttributes.get("time_coverage_end").getStringValue()); // and these bounds double EPS = 1e-3; assertNotNull(globalAttributes.get("northernmost_latitude")); assertNotNull(globalAttributes.get("southernmost_latitude")); assertNotNull(globalAttributes.get("westernmost_longitude")); assertNotNull(globalAttributes.get("easternmost_longitude")); assertEquals(119.925, globalAttributes.get("northernmost_latitude").getNumericValue().doubleValue(), EPS); assertEquals(-119.925, globalAttributes.get("southernmost_latitude").getNumericValue().doubleValue(), EPS); assertEquals(-269.925, globalAttributes.get("westernmost_longitude").getNumericValue().doubleValue(), EPS); assertEquals(269.925, globalAttributes.get("easternmost_longitude").getNumericValue().doubleValue(), EPS); // resolution, take 2 assertNotNull(globalAttributes.get("geospatial_lat_units")); assertNotNull(globalAttributes.get("geospatial_lon_units")); assertEquals("degrees", globalAttributes.get("geospatial_lat_units").getStringValue()); assertEquals("degrees", globalAttributes.get("geospatial_lon_units").getStringValue()); // sea surface temperature Variable sst = dataset.findVariable("sea_surface_temperature"); assertNotNull(sst); assertEquals(DataType.SHORT, sst.getDataType()); assertNotNull(sst.findAttribute("scale_factor")); assertNotNull(sst.findAttribute("add_offset")); assertAttributeValue(sst, "comment", "Marine skin surface temperature"); assertAttributeValue(sst, "long_name", "sea surface skin temperature"); assertAttributeValue(sst, "standard_name", "sea_surface_skin_temperature"); assertAttributeValue(sst, "units", "kelvin"); assertAttributeValue(sst, "depth", "10 micrometres"); // wind speed Variable windSpeed = dataset.findVariable("wind_speed"); assertNotNull(windSpeed); assertEquals(DataType.BYTE, windSpeed.getDataType()); assertNotNull(windSpeed.findAttribute("scale_factor")); assertNotNull(windSpeed.findAttribute("add_offset")); assertAttributeValue(windSpeed, "comment", "Typically represents surface winds (10 meters above the sea " + "surface)"); assertAttributeValue(windSpeed, "long_name", "wind speed"); assertAttributeValue(windSpeed, "standard_name", "wind_speed"); assertAttributeValue(windSpeed, "units", "m s-1"); // enable ehancing to check values dataset.enhance(NetcdfDataset.getEnhanceAll()); assertValues(dataset, "sea_surface_temperature", new double[] { 301, 302, 303, 304, 305, 306, 307, 308, 309 }, 2e-3); assertValues(dataset, "wind_speed", new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, 0.2); } finally { // FileUtils.deleteQuietly(file); } }
From source file:org.geoserver.wps.ExecuteTest.java
@Test public void testWKTInlineRawOutput() throws Exception { // Standard Test A.4.4.3 String xml = "<wps:Execute service='WPS' version='1.0.0' xmlns:wps='http://www.opengis.net/wps/1.0.0' " + "xmlns:ows='http://www.opengis.net/ows/1.1'>" + "<ows:Identifier>JTS:buffer</ows:Identifier>" + "<wps:DataInputs>" + "<wps:Input>" + "<ows:Identifier>distance</ows:Identifier>" + "<wps:Data>" + "<wps:LiteralData>1</wps:LiteralData>" + "</wps:Data>" + "</wps:Input>" + "<wps:Input>" + "<ows:Identifier>geom</ows:Identifier>" + "<wps:Data>" + "<wps:ComplexData mimeType=\"application/wkt\">" + "<![CDATA[POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))]]>" + "</wps:ComplexData>" + "</wps:Data>" + "</wps:Input>" + "</wps:DataInputs>" + "<wps:ResponseForm>" + " <wps:RawDataOutput mimeType=\"application/wkt\">" + " <ows:Identifier>result</ows:Identifier>" + " </wps:RawDataOutput>" + " </wps:ResponseForm>" + "</wps:Execute>"; // print(dom(new StringInputStream("<?xml version=\"1.0\" encoding=\"UTF-16\"?>\n" + xml))); MockHttpServletResponse response = postAsServletResponse("wps", xml); // System.out.println(response.getOutputStreamContent()); assertEquals("application/wkt", response.getContentType()); String cd = response.getHeader("Content-Disposition"); assertTrue(cd.endsWith("filename=result.wkt")); Geometry g = new WKTReader().read(response.getContentAsString()); Assert.assertTrue(g instanceof Polygon); }
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 testExecuteGeotiff() throws Exception { String request = IOUtils.toString(getClass().getResourceAsStream("mapMultiLayer.xml")); request = request.replaceAll("image/png", "image/geotiff"); MockHttpServletResponse response = postAsServletResponse("wps", request); assertEquals("image/geotiff", response.getContentType()); assertEquals("attachment; filename=result.tif", response.getHeader("Content-disposition")); }
From source file:org.geoserver.wps.gs.download.DownloadMapProcessTest.java
public void testExecutMultiLayerKmz(String mime) throws Exception { String request = IOUtils.toString(getClass().getResourceAsStream("mapMultiLayer.xml")); request = request.replaceAll("image/png", mime); MockHttpServletResponse response = postAsServletResponse("wps", request); assertEquals(KMZMapOutputFormat.MIME_TYPE, response.getContentType()); assertEquals("inline; filename=result.kmz", response.getHeader("Content-disposition")); ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(response.getContentAsByteArray())); try {/* w w w . j a v a2s . com*/ // first entry, the kml document itself ZipEntry entry = zis.getNextEntry(); assertEquals("wms.kml", entry.getName()); byte[] data = IOUtils.toByteArray(zis); Document dom = dom(new ByteArrayInputStream(data)); // print(dom); assertXpathEvaluatesTo("1", "count(//kml:Folder/kml:GroundOverlay)", dom); String href = XMLUnit.newXpathEngine().evaluate("//kml:Folder/kml:GroundOverlay/kml:Icon/kml:href", dom); assertEquals("image.png", href); zis.closeEntry(); // the ground overlay for the raster layer entry = zis.getNextEntry(); assertEquals("image.png", entry.getName()); BufferedImage image = ImageIO.read(zis); zis.closeEntry(); assertNull(zis.getNextEntry()); // check the output, same as mapMultiName ImageAssert.assertEquals(new File(SAMPLES + "mapMultiName.png"), image, 100); } finally { zis.close(); } }