/* (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.wps.web; import static org.junit.Assert.assertEquals; import org.apache.wicket.util.tester.FormTester; import org.geoserver.config.GeoServer; import org.geoserver.web.wicket.GeoServerTablePanel; import org.geoserver.wps.ProcessGroupInfo; import org.geoserver.wps.WPSInfo; import org.junit.Test; public class WPSAccessRulePageTest extends WPSPagesTestSupport { @Test public void testGroupToWpsLink() throws Exception { login(); tester.startPage(new WPSAccessRulePage()); tester.assertRenderedPage(WPSAccessRulePage.class); tester.clickLink("form:processFilterTable:listContainer:items:1:itemProperties:5:component:link", false); tester.assertRenderedPage(ProcessSelectionPage.class); } @Test public void testDisableWps() throws Exception { login(); tester.startPage(new WPSAccessRulePage()); tester.assertRenderedPage(WPSAccessRulePage.class); tester.clickLink("form:processFilterTable:listContainer:items:1:itemProperties:5:component:link", false); FormTester ft = tester.newFormTester("form"); ft.setValue("selectionTable:listContainer:items:1:itemProperties:0:component:enabled", "false"); ft.submit("apply"); GeoServerTablePanel<ProcessGroupInfo> processFilterTable = (GeoServerTablePanel<ProcessGroupInfo>) tester.getComponentFromLastRenderedPage("form:processFilterTable"); ProcessFactoryInfoProvider dp = (ProcessFactoryInfoProvider)processFilterTable.getDataProvider(); assertEquals(dp.getItems().get(0).getFilteredProcesses().size(),1); } @Test public void testCheckGroup() throws Exception { login(); GeoServer gs = getGeoServer(); WPSInfo wps = gs.getService(WPSInfo.class); // start the page tester.startPage(new WPSAccessRulePage()); tester.assertRenderedPage(WPSAccessRulePage.class); tester.assertComponent("form:processFilterTable", GeoServerTablePanel.class); GeoServerTablePanel<ProcessGroupInfo> processFilterTable = (GeoServerTablePanel<ProcessGroupInfo>) tester.getComponentFromLastRenderedPage("form:processFilterTable"); ProcessFactoryInfoProvider dp = (ProcessFactoryInfoProvider)processFilterTable.getDataProvider(); for(ProcessGroupInfo pgi : dp.getItems()){ assertEquals(pgi.isEnabled(),true); } FormTester ft = tester.newFormTester("form"); ft.setValue("processFilterTable:listContainer:items:1:itemProperties:0:component:enabled", "false"); ft.setValue("processFilterTable:listContainer:items:4:itemProperties:0:component:enabled", "false"); ft.submit(); assertEquals(dp.getItems().get(0).isEnabled(),false); assertEquals(dp.getItems().get(3).isEnabled(),false); } }