package org.geoserver.web.data; import java.util.List; import org.apache.wicket.Component; import org.geoserver.catalog.CatalogInfo; import org.geoserver.catalog.DataStoreInfo; import org.geoserver.catalog.FeatureTypeInfo; import org.geoserver.data.test.MockData; import org.geoserver.web.ComponentBuilder; import org.geoserver.web.FormTestPage; import org.geoserver.web.GeoServerWicketTestSupport; public class ConfirmRemovalPanelTest extends GeoServerWicketTestSupport { void setupPanel(final CatalogInfo... roots) { tester.startPage(new FormTestPage(new ComponentBuilder() { public Component buildComponent(String id) { return new ConfirmRemovalPanel(id, roots); } })); } public void testRemoveWorkspace() { setupPanel(getCatalog().getWorkspaceByName(MockData.CITE_PREFIX)); // print(tester.getLastRenderedPage(), true, true); tester.assertRenderedPage(FormTestPage.class); tester.assertNoErrorMessage(); tester.assertLabel("form:panel:removedObjects:storesRemoved:stores", "cite"); String layers = tester.getComponentFromLastRenderedPage("form:panel:removedObjects:layersRemoved:layers").getDefaultModelObjectAsString(); String[] layerArray = layers.split(", "); DataStoreInfo citeStore = getCatalog().getStoreByName("cite", DataStoreInfo.class); List<FeatureTypeInfo> typeInfos = getCatalog().getResourcesByStore(citeStore, FeatureTypeInfo.class); assertEquals(typeInfos.size(), layerArray.length); } public void testRemoveLayer() { setupPanel(getCatalog().getLayerByName(getLayerId(MockData.BUILDINGS))); // print(tester.getLastRenderedPage(), true, true); tester.assertRenderedPage(FormTestPage.class); tester.assertNoErrorMessage(); // damn wicket tester, it does not have a assertHidden... assertFalse(tester.getLastRenderedPage().get("form:panel:removedObjects:storesRemoved").isVisible()); assertFalse(tester.getLastRenderedPage().get("form:panel:modifiedObjects").isVisible()); } public void testRemoveStyle() { setupPanel(getCatalog().getStyleByName(MockData.BUILDINGS.getLocalPart())); // print(tester.getLastRenderedPage(), true, true); tester.assertRenderedPage(FormTestPage.class); tester.assertNoErrorMessage(); // damn wicket tester, it does not have a assertHidden... assertFalse(tester.getLastRenderedPage().get("form:panel:removedObjects:storesRemoved").isVisible()); tester.assertLabel("form:panel:modifiedObjects:layersModified:layers", "Buildings"); } }