package org.geoserver.web.data.workspace; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.util.tester.FormTester; import org.geoserver.web.GeoServerWicketTestSupport; public class WorkspaceNewPageTest extends GeoServerWicketTestSupport { @Override protected void setUpInternal() throws Exception { super.setUpInternal(); login(); tester.startPage(WorkspaceNewPage.class); // print(tester.getLastRenderedPage(), true, true); } public void testLoad() { tester.assertRenderedPage(WorkspaceNewPage.class); tester.assertNoErrorMessage(); tester.assertComponent("form:name", TextField.class); tester.assertComponent("form:uri", TextField.class); } public void testNameRequired() { FormTester form = tester.newFormTester("form"); form.setValue("uri", "http://www.geoserver.org"); form.submit(); tester.assertRenderedPage(WorkspaceNewPage.class); tester.assertErrorMessages(new String[] {"Field 'Name' is required."}); } public void testURIRequired() { FormTester form = tester.newFormTester("form"); form.setValue("name", "test"); form.submit(); tester.assertRenderedPage(WorkspaceNewPage.class); tester.assertErrorMessages(new String[] {"Field 'uri' is required."}); } public void testValid() { FormTester form = tester.newFormTester("form"); form.setValue("name", "abc"); form.setValue("uri", "http://www.geoserver.org"); form.setValue("default", "true"); form.submit(); tester.assertRenderedPage(WorkspacePage.class); tester.assertNoErrorMessage(); assertEquals("abc", getCatalog().getDefaultWorkspace().getName()); } public void testInvalidURI() { FormTester form = tester.newFormTester("form"); form.setValue("name", "def"); form.setValue("uri", "not a valid uri"); form.submit(); tester.assertRenderedPage(WorkspaceNewPage.class); tester.assertErrorMessages(new String[] {"Invalid URI syntax: not a valid uri"}); } public void testInvalidName() { FormTester form = tester.newFormTester("form"); form.setValue("name", "default"); form.setValue("uri", "http://www.geoserver.org"); form.submit(); tester.assertRenderedPage(WorkspaceNewPage.class); tester.assertErrorMessages(new String[] {"Invalid workspace name: \"default\" is a reserved keyword"}); } }