package org.geoserver.inspire.wms; import static org.geoserver.inspire.wms.WMSExtendedCapabilitiesProvider.NAMESPACE; import org.geoserver.test.GeoServerTestSupport; import org.geoserver.wms.WMSInfo; import org.w3c.dom.Document; import org.w3c.dom.Element; public class WMSExtendedCapabilitiesTest extends GeoServerTestSupport { public void testExtendedCaps() throws Exception { WMSInfo wms = getGeoServer().getService(WMSInfo.class); wms.getSRS().add("EPSG:4326"); wms.getMetadata().put(InspireMetadata.LANGUAGE.key, "fre"); wms.getMetadata().put(InspireMetadata.SERVICE_METADATA_URL.key, "http://foo.com?bar=baz"); getGeoServer().save(wms); Document dom = getAsDOM("wms?request=getcapabilities"); assertEquals(NAMESPACE, dom.getDocumentElement().getAttribute("xmlns:inspire_vs")); final Element extendedCaps = getFirstElementByTagName(dom, "inspire_vs:ExtendedCapabilities"); assertNotNull(extendedCaps); final Element mdUrl = getFirstElementByTagName(extendedCaps, "inspire_common:MetadataUrl"); assertNotNull(mdUrl); final Element url = getFirstElementByTagName(mdUrl, "inspire_common:URL"); assertNotNull(url); assertEquals("http://foo.com?bar=baz", url.getFirstChild().getNodeValue()); final Element suppLangs = getFirstElementByTagName(extendedCaps, "inspire_common:SupportedLanguages"); assertNotNull(suppLangs); final Element defLang = getFirstElementByTagName(suppLangs, "inspire_common:DefaultLanguage"); assertNotNull(defLang); final Element defLangVal = getFirstElementByTagName(defLang, "inspire_common:Language"); assertEquals("fre", defLangVal.getFirstChild().getNodeValue()); final Element respLang = getFirstElementByTagName(extendedCaps, "inspire_common:ResponseLanguage"); assertNotNull(respLang); final Element respLangVal = getFirstElementByTagName(defLang, "inspire_common:Language"); assertEquals("fre", respLangVal.getFirstChild().getNodeValue()); } }