package org.geoserver.web.security.data; import org.geoserver.data.test.MockData; import org.geoserver.security.AccessMode; import org.geoserver.security.impl.DataAccessRule; import org.geoserver.security.impl.DataAccessRuleDAO; import org.geoserver.web.GeoServerWicketTestSupport; public class DataAccessRulePageTest extends GeoServerWicketTestSupport { private DataAccessRuleDAO dao; private DataAccessRule rule; private static final String TABLE_PATH = "selectLayersContainer:selectLayers:layers"; @Override protected void setUpInternal() throws Exception { dao = DataAccessRuleDAO.get(); rule = new DataAccessRule(MockData.CITE_PREFIX, MockData.BASIC_POLYGONS.getLocalPart(), AccessMode.READ, "*"); dao.addRule(DataAccessRule.READ_ALL); dao.addRule(DataAccessRule.WRITE_ALL); dao.addRule(rule); login(); tester.startPage(DataAccessRulePage.class); } public void testRenders() throws Exception { tester.assertRenderedPage(DataAccessRulePage.class); } public void testEditRule() throws Exception { // the name link for the first user tester.clickLink("table:listContainer:items:1:itemProperties:0:component:link"); tester.assertRenderedPage(EditDataAccessRulePage.class); assertEquals("*", tester.getComponentFromLastRenderedPage("ruleForm:workspace") .getDefaultModelObject()); } // public void testNewRule() throws Exception { // tester.clickLink("header:addNew"); // tester.assertRenderedPage(NewDataAccessRulePage.class); // assertEquals("*", tester.getComponentFromLastRenderedPage("ruleForm:workspace") // .getModelObject()); // } // public void testRemove() throws Exception { // tester.setupRequestAndResponse(true); // final Component component = tester.getComponentFromLastRenderedPage("table:listContainer"); // assertNotNull(component); // assertTrue(dao.getRules().contains(rule)); // // the remove link for the second user // tester.executeAjaxEvent("table:listContainer:items:2:itemProperties:2:component:link", // "onclick"); // // // tester.assertComponentOnAjaxResponse(component); // // tester.assertRenderedPage(DataAccessRulePage.class); // assertFalse(dao.getRules().contains(rule)); // } }