package org.geoserver.wps; import junit.framework.Test; import org.w3c.dom.Document; public class GetCapabilitiesTest extends WPSTestSupport { //read-only test public static Test suite() { return new OneTimeTestSetup(new GetCapabilitiesTest()); } public void testGetBasic() throws Exception { Document d = getAsDOM( "wps?service=wps&request=getcapabilities" ); print(d); basicCapabilitiesTest(d); } public void testPostBasic() throws Exception { String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"; Document d = postAsDOM(root(), request); basicCapabilitiesTest(d); } private void basicCapabilitiesTest(Document d) throws Exception { print(d); checkValidationErrors(d); assertEquals( "wps:Capabilities", d.getDocumentElement().getNodeName() ); int np = d.getElementsByTagName( "wps:Process" ).getLength(); assertTrue( np > 0 ); } public void testUnsupportedVersionPost() throws Exception { String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + " <ows:AcceptVersions>" // + " <ows:Version>9.9.9</ows:Version>" // + " </ows:AcceptVersions>" // + "</wps:GetCapabilities>"; Document dom = postAsDOM(root(), request); checkValidationErrors(dom); checkOws11Exception(dom, "VersionNegotiationFailed"); } public void testUnsupportedVersionGet() throws Exception { Document dom = getAsDOM(root() + "request=GetCapabilities&service=WPS&acceptVersions=9.9.9,8.8.8"); checkValidationErrors(dom); checkOws11Exception(dom, "VersionNegotiationFailed"); } public void testSupportedVersionGet() throws Exception { Document dom = getAsDOM(root() + "request=GetCapabilities&service=WPS&acceptVersions=0.5.0,1.0.0"); assertEquals("wps:Capabilities", dom.getFirstChild().getNodeName()); } public void testSupportedVersionPost() throws Exception { String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + " <ows:AcceptVersions>" // + " <ows:Version>0.5.0</ows:Version>" // + " <ows:Version>1.0.0</ows:Version>" // + " </ows:AcceptVersions>" // + "</wps:GetCapabilities>"; Document dom = postAsDOM(root(), request); print( dom ); assertEquals("wps:Capabilities", dom.getFirstChild().getNodeName()); } // public void testUpdateSequenceInferiorGet() throws Exception { // Document dom = getAsDOM(root() + "request=GetCapabilities&service=WPS&updateSequence=-1"); // basicCapabilitiesTest(dom); // } // // public void testUpdateSequenceInferiorPost() throws Exception { // String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" // + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " // + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " // + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " // + " updateSequence=\"-1\"/>"; // Document dom = postAsDOM(root(), request); // basicCapabilitiesTest(dom); // } // // public void testUpdateSequenceEqualsGet() throws Exception { // Document dom = getAsDOM(root() + "request=GetCapabilities&service=WPS&updateSequence=0"); // checkValidationErrors(dom); // final Node root = dom.getFirstChild(); // assertEquals("wps:Capabilities", root.getNodeName()); // assertEquals(0, root.getChildNodes().getLength()); // } // // public void testUpdateSequenceEqualsPost() throws Exception { // String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" // + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " // + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " // + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " // + " updateSequence=\"0\"/>"; // Document dom = postAsDOM(root(), request); // checkValidationErrors(dom); // final Node root = dom.getFirstChild(); // assertEquals("wcs:Capabilities", root.getNodeName()); // assertEquals(0, root.getChildNodes().getLength()); // } // // public void testUpdateSequenceSuperiorGet() throws Exception { // Document dom = getAsDOM(root() + "request=GetCapabilities&service=WPS&updateSequence=1"); // checkValidationErrors(dom); //// print(dom); // checkOws11Exception(dom); // } // // public void testUpdateSequenceSuperiorPost() throws Exception { // String request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" // + "<wps:GetCapabilities service=\"WPS\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" " // + "xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" " // + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " // + " updateSequence=\"1\"/>"; // Document dom = postAsDOM(root(), request); // checkValidationErrors(dom); //// print(dom); // checkOws11Exception(dom); // } }