Refine search
@Test public void testCountLessThanMatched() throws Exception { Document dom = getAsDOM( "wcs?request=DescribeEOCoverageSet&version=2.0.1&service=WCS&eoid=sf__watertemp_dss&count=2"); // print(dom); // expected granules are there assertEquals("4", xpath.evaluate("/wcseo:EOCoverageSetDescription/@numberMatched", dom)); assertEquals("2", xpath.evaluate("/wcseo:EOCoverageSetDescription/@numberReturned", dom)); assertEquals( "2", xpath.evaluate("count(//wcs:CoverageDescriptions/wcs:CoverageDescription)", dom)); }
@Test public void testGetFeatureVersionedEarlyDate() throws Exception { String earlyDateRequest = TestsUtils.readResource("/requests/get_request_1.xml") .replace("${startDate}", "2017-01-01T12:00:00"); Document doc = postAsDOM("wfs", earlyDateRequest); // print(doc); // all three states of the feature assertEquals("3", WFS20_XPATH_ENGINE.evaluate("count(//gs:versioned)", doc)); // sorted by time, descending assertEquals("v.2", WFS20_XPATH_ENGINE.evaluate("(//gs:versioned)[1]/@gml:id", doc)); assertEquals("v.3", WFS20_XPATH_ENGINE.evaluate("(//gs:versioned)[2]/@gml:id", doc)); assertEquals("v.1", WFS20_XPATH_ENGINE.evaluate("(//gs:versioned)[3]/@gml:id", doc)); }
@Test public void testSimpleSelection() throws Exception { // ask for the right coverage, and the granule is there Document dom = getAsDOM( "wcs?service=WCS&version=2.0.1&request=GetCoverage&coverageId=sf__timeranges_granule_time_domainsRanges.4&outputFormat=&format=application%2Fgml%2Bxml"); // print(dom); assertEquals("1", xpath.evaluate("count(/gml:RectifiedGridCoverage)", dom)); } }
@Test public void testSectionsAll() throws Exception { Document dom = getAsDOM( "wcs?request=DescribeEOCoverageSet&version=2.0.1&service=WCS&eoid=sf__watertemp_dss§ions=All"); // everything assertEquals("1", xpath.evaluate("count(/wcseo:EOCoverageSetDescription)", dom)); assertEquals( "1", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcs:CoverageDescriptions)", dom)); assertEquals( "1", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcseo:DatasetSeriesDescriptions)", dom)); }
@Test public void testSectionsDatasetSeries() throws Exception { Document dom = getAsDOM( "wcs?request=DescribeEOCoverageSet&version=2.0.1&service=WCS&eoid=sf__watertemp_dss§ions=DatasetSeriesDescriptions"); // only descriptions assertEquals("1", xpath.evaluate("count(/wcseo:EOCoverageSetDescription)", dom)); assertEquals( "0", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcs:CoverageDescriptions)", dom)); assertEquals( "1", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcseo:DatasetSeriesDescriptions)", dom)); }
@Test public void testEntityExpansion() throws Exception { final File xml = new File("./src/test/resources/testDescribeCoverageEntityExpansion.xml"); final String request = FileUtils.readFileToString(xml); Document dom = postAsDOM("wcs", request); assertNotNull(dom); // print(dom, System.out); String text = xpath.evaluate("//ows:ExceptionText", dom); assertTrue(text.contains(PreventLocalEntityResolver.ERROR_MESSAGE_BASE)); }
@Test public void testSectionsCoverageDescriptions() throws Exception { Document dom = getAsDOM( "wcs?request=DescribeEOCoverageSet&version=2.0.1&service=WCS&eoid=sf__watertemp_dss§ions=CoverageDescriptions"); // only descriptions assertEquals("1", xpath.evaluate("count(/wcseo:EOCoverageSetDescription)", dom)); assertEquals( "1", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcs:CoverageDescriptions)", dom)); assertEquals( "0", xpath.evaluate( "count(/wcseo:EOCoverageSetDescription/wcseo:DatasetSeriesDescriptions)", dom)); }
@Test public void testGetFeatureVersionedExtraFilter() throws Exception { String request = TestsUtils.readResource("/requests/get_request_2.xml") .replace("${startDate}", "2017-01-01T00:00:00Z"); Document doc = postAsDOM("wfs", request); // print(doc); // only one matches assertEquals("1", WFS20_XPATH_ENGINE.evaluate("count(//gs:versioned)", doc)); assertEquals("v.3", WFS20_XPATH_ENGINE.evaluate("//gs:versioned/@gml:id", doc)); }
@Test public void testMixedTrim() throws Exception { // Document dom = getAsDOM( "wcs?request=DescribeEOCoverageSet&version=2.0.1&service=WCS&eoid=sf__spatio-temporal_dss" + "&subset=Long(1,5)&subset=Lat(40,41)&subset=phenomenonTime(\"2008-10-31T00:00:00.000Z\",\"2008-10-31T23:59:00.000Z\")"); // print(dom); assertEquals( "2", xpath.evaluate("count(//wcs:CoverageDescriptions/wcs:CoverageDescription)", dom)); }
@Test public void testGetFeatureVersionedLateDate() throws Exception { String earlyDateRequest = TestsUtils.readResource("/requests/get_request_1.xml") .replace("${startDate}", "2017-07-24T00:00:00Z"); Document doc = postAsDOM("wfs", earlyDateRequest); // print(doc); // only the last states of the feature assertEquals("1", WFS20_XPATH_ENGINE.evaluate("count(//gs:versioned)", doc)); // sorted by time, descending assertEquals("v.2", WFS20_XPATH_ENGINE.evaluate("//gs:versioned/@gml:id", doc)); }
@Test public void testCascadeCapabilitiesClientNoGetFeatureInfo() throws Exception { Document dom = getAsDOM("wms?request=GetCapabilities&version=1.3.0&service=wms"); print(dom); Map<String, String> namespaces = new HashMap<>(); namespaces.put("wms", "http://www.opengis.net/wms"); namespaces.put("link", "http://www.w3.org/1999/xlink"); namespaces.put("xsi", "http://www.w3.org/2001/XMLSchema-instance"); NamespaceContext newNsCtxt = new SimpleNamespaceContext(namespaces); xpath.setNamespaceContext(newNsCtxt); xpath.evaluate("//wms:Layer[name='" + WORLD4326_110_NFI + "']", dom); }
@Test public void testMixedTrimPost() throws Exception { final File xml = new File("./src/test/resources/describeEOCoverageSetTrims.xml"); final String request = FileUtils.readFileToString(xml); Document dom = postAsDOM("wcs?", request); print(dom); assertEquals( "2", xpath.evaluate("count(//wcs:CoverageDescriptions/wcs:CoverageDescription)", dom)); }
@Test public void testGetAsXML() throws Exception { Document dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces/sf/wmsstores/demo.xml"); assertEquals("wmsStore", dom.getDocumentElement().getNodeName()); assertEquals("demo", xp.evaluate("/wmsStore/name", dom)); assertEquals("sf", xp.evaluate("/wmsStore/workspace/name", dom)); assertXpathExists("/wmsStore/capabilitiesURL", dom); }
@Test public void testGetAsXML() throws Exception { Document dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces/sf/wmtsstores/demo.xml"); assertEquals("wmtsStore", dom.getDocumentElement().getNodeName()); assertEquals("demo", xp.evaluate("/wmtsStore/name", dom)); assertEquals("sf", xp.evaluate("/wmtsStore/workspace/name", dom)); assertXpathExists("/wmtsStore/capabilitiesURL", dom); }
@Test public void testGetAsXML() throws Exception { Document dom = getAsDOM(MP_URI_XML, 200); assertEquals( MasterPasswordController.XML_ROOT_ELEM, dom.getDocumentElement().getNodeName()); assertEquals( "geoserver", xp.evaluate( "/" + MasterPasswordController.XML_ROOT_ELEM + "/" + MasterPasswordController.MP_CURRENT_KEY, dom)); }
@Test public void testUpdateAttributeRestricted() throws Exception { setRequestAuth("cite_writeatts", "cite"); Document dom = postAsDOM("wfs", UPDATE_ADDRESS); // print(dom); // not sure why CITE tests make us throw an exception for this one instead of using // in transaction reporting... assertXpathEvaluatesTo("1", "count(//ows:ExceptionReport)", dom); XpathEngine xpath = XMLUnit.newXpathEngine(); String message = xpath.evaluate("//ows:ExceptionText", dom); assertTrue(message.matches(".*write protected.*ADDRESS.*")); }
/** The UTF grid format shows up in the caps document. The format name is freeform */ @Test public void testCapabilities11() throws Exception { Document dom = getAsDOM("wms?service=WMS&request=GetCapabilities&version=1.1.0"); // print(dom); XpathEngine xpath = XMLUnit.newXpathEngine(); assertEquals("1", xpath.evaluate("count(//GetMap[Format='utfgrid'])", dom)); }
@Test public void testGetAsXML() throws Exception { Document dom = getAsDOM(ROOT_PATH + "/workspaces/sf/datastores/sf.xml"); print(dom); assertEquals("dataStore", dom.getDocumentElement().getNodeName()); assertEquals("sf", xp.evaluate("/dataStore/name", dom)); assertEquals("sf", xp.evaluate("/dataStore/workspace/name", dom)); assertXpathExists("/dataStore/connectionParameters", dom); assertThat( xp.evaluate("/dataStore/featureTypes/atom:link/@href", dom), endsWith( RestBaseController.ROOT_PATH + "/workspaces/sf/datastores/sf/featuretypes.xml")); }