/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.test; import static org.junit.Assert.*; import java.util.ArrayList; import org.junit.Test; import org.w3c.dom.Document; /** * WFS GetFeature to test duplicate properties with GeoServer. * * @author Florence Tan, CSIRO Earth Science and Resource Engineering */ public class DuplicatePropertiesWfsTest extends AbstractAppSchemaTestSupport { @Override protected DuplicatePropertiesMockData createTestData() { return new DuplicatePropertiesMockData(); } /** * Test whether GetCapabilities returns wfs:WFS_Capabilities. */ @Test public void testGetCapabilities() { Document doc = getAsDOM("wfs?request=GetCapabilities&version=1.1.0"); LOGGER.info("WFS GetCapabilities response:\n" + prettyString(doc)); assertEquals("wfs:WFS_Capabilities", doc.getDocumentElement().getNodeName()); // make sure non-feature types don't appear in FeatureTypeList assertXpathCount(1, "//wfs:FeatureType", doc); ArrayList<String> featureTypeNames = new ArrayList<String>(1); featureTypeNames.add(evaluate("//wfs:FeatureType[1]/wfs:Name", doc)); // ERM assertTrue(featureTypeNames.contains("ex:ERM")); } /** * Test whether GetFeature returns wfs:FeatureCollection. */ @Test public void testGetFeature() { Document doc = getAsDOM("wfs?request=GetFeature&typename=ex:ERM"); LOGGER.info("WFS GetFeature&typename=ex:ERM response:\n" + prettyString(doc)); assertEquals("wfs:FeatureCollection", doc.getDocumentElement().getNodeName()); assertXpathCount(2, "//ex:purpose", doc); assertXpathEvaluatesTo("instance", "//ex:material/ex:RockMaterial/ex:purpose", doc); } }