/** * Print hierarchy current page's Wicket widgets */ protected void printCurrentPage() { this.print(tester.getLastRenderedPage(), true, false); }
/** * Checks that no exception page has been shown */ protected void assertNoException() { if (tester.getLastRenderedPage().getClass() == org.geoserver.web.GeoServerErrorPage.class) { fail("We got to the error page, why??"); } }
WicketTester tester = new WicketTester(new MyApplication()); tester.startPage(MyPage.class); Localizer localizer = tester.getApplication().getResourceSettings() .getLocalizer(); String foo = localizer.getString("page.label",tester.getLastRenderedPage(), "")
/** * Checks that am exception page has been shown */ protected void assertException() { if (tester.getLastRenderedPage().getClass() != org.geoserver.web.GeoServerErrorPage.class) { fail("We should have got to the errore page, but we did not"); } }
/** * Checks that a given page has been rendered * * @param clazz * Class of page that is supposed to be rendered */ protected void assertPage(Class<? extends GeoServerBasePage> clazz) { if (tester.getLastRenderedPage().getClass() == clazz) { assertTrue(true); } else { assertTrue(false); } }
/** * Checks that a given message has been shown * * @param key * Key of the message in the properties file */ protected void assertMessage(String key) { Component page = tester.getLastRenderedPage(); tester.assertContains(page.getLocalizer().getString(key, page)); // tester.assertErrorMessages(new String[] {page.getLocalizer().getString(key, page)}); }
protected void waitOnImportProgressPage() { do { // manually run the ajax timer behavior attached to the "info" markup container try { List<IBehavior> behaviors = tester.getComponentFromLastRenderedPage("info").getBehaviors(); for (IBehavior behavior: behaviors) { if(behavior instanceof AbstractAjaxTimerBehavior) { AbstractAjaxTimerBehavior tb = (AbstractAjaxTimerBehavior) behavior; CharSequence url = tb.getCallbackUrl(false); WebRequestCycle cycle = tester.setupRequestAndResponse(true); tester.getServletRequest().setRequestToRedirectString(url.toString()); tester.processRequestCycle(cycle); } } } catch(WicketRuntimeException e) { // this happens a lot if the page switched while we where looping } } while(tester.getLastRenderedPage().getClass().equals(ImportProgressPage.class)); }
public void testRemoveLinks() { // print(tester.getLastRenderedPage(), true, true); tester.assertComponent("form", Form.class); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt", "one"); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt", "two"); // remove the first identifier tester.executeAjaxEvent("form:panel:container:identifiers:listContainer:items:1:itemProperties:2:component:remove", "onclick"); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt")); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt", "two"); // remove the second as well tester.executeAjaxEvent("form:panel:container:identifiers:listContainer:items:2:itemProperties:2:component:remove", "onclick"); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt")); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt")); // print(tester.getLastRenderedPage(), true, true); // now trigger the validation, we cannot be without spatial data identifiers tester.submitForm("form"); String error = new ParamResourceModel("UniqueResourceIdentifiersEditor.noSpatialDatasetIdentifiers", null).getString(); tester.assertErrorMessages(new String[] {error}); }
public void testReprojectLinestring() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "LINESTRING(12 45, 13 45)"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(0, tester.getMessages(FeedbackMessage.ERROR).size()); String tx = tester.getComponentFromLastRenderedPage("form:targetGeom").getDefaultModelObjectAsString(); assertEquals("LINESTRING (736446.0261038465 4987329.504699742, 815261.4271666661 4990738.261612577)", tx); }
@Test public void testInvalidPoint() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "12 a45a"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(1, tester.getMessages(FeedbackMessage.ERROR).size()); String message = ((ValidationErrorFeedback) tester.getMessages(FeedbackMessage.ERROR).get(0)) .getMessage() .toString(); String expected = new ParamResourceModel("GeometryTextArea.parseError", null).getString(); assertEquals(expected, message); }
public void testInvalidPoint() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "12 a45a"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(1, tester.getMessages(FeedbackMessage.ERROR).size()); String message = ((ValidationErrorFeedback) tester.getMessages(FeedbackMessage.ERROR).get(0)).getMessage(); String expected = new ParamResourceModel("GeometryTextArea.parseError", null).getString(); assertEquals(expected, message); }
public void testInvalidGeometry() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "LINESTRING(12 45, 13 45"); // missing ) at the end form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(1, tester.getMessages(FeedbackMessage.ERROR).size()); String message = ((ValidationErrorFeedback) tester.getMessages(FeedbackMessage.ERROR).get(0)).getMessage(); String expected = new ParamResourceModel("GeometryTextArea.parseError", null).getString(); assertEquals(expected, message); }
@Test public void testInvalidGeometry() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "LINESTRING(12 45, 13 45"); // missing ) at the end form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(1, tester.getMessages(FeedbackMessage.ERROR).size()); String message = ((ValidationErrorFeedback) tester.getMessages(FeedbackMessage.ERROR).get(0)) .getMessage() .toString(); String expected = new ParamResourceModel("GeometryTextArea.parseError", null).getString(); assertEquals(expected, message); }
public void testReprojectPoint() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "12 45"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(0, tester.getMessages(FeedbackMessage.ERROR).size()); String tx = tester.getComponentFromLastRenderedPage("form:targetGeom").getDefaultModelObjectAsString(); assertEquals("736446.0261038465 4987329.504699742", tx); }
@Test public void testReprojectPoint() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "12 45"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(0, tester.getMessages(FeedbackMessage.ERROR).size()); String tx = tester.getComponentFromLastRenderedPage("form:targetGeom") .getDefaultModelObjectAsString(); assertEquals("736446.0261038465 4987329.504699742", tx); }
@Test public void testReprojectLinestring() { tester.startPage(ReprojectPage.class); FormTester form = tester.newFormTester("form"); form.setValue("sourceCRS:srs", "EPSG:4326"); form.setValue("targetCRS:srs", "EPSG:32632"); form.setValue("sourceGeom", "LINESTRING(12 45, 13 45)"); form.submit(); tester.clickLink("form:forward", true); assertEquals(ReprojectPage.class, tester.getLastRenderedPage().getClass()); assertEquals(0, tester.getMessages(FeedbackMessage.ERROR).size()); String tx = tester.getComponentFromLastRenderedPage("form:targetGeom") .getDefaultModelObjectAsString(); assertEquals( "LINESTRING (736446.0261038465 4987329.504699742, 815261.4271666661 4990738.261612577)", tx); }
/** * Kind of smoke test to make sure the page structure was correctly set up once loaded */ public void testStructure() { // print(tester.getLastRenderedPage(), true, true); assertTrue(tester.getLastRenderedPage() instanceof DemoRequestsPage); tester.assertComponent("demoRequestsForm", Form.class); tester.assertComponent("demoRequestsForm:demoRequestsList", DropDownChoice.class); tester.assertComponent("demoRequestsForm:url", TextField.class); tester.assertComponent("demoRequestsForm:body:editorContainer:editor", TextArea.class); tester.assertComponent("demoRequestsForm:username", TextField.class); tester.assertComponent("demoRequestsForm:password", PasswordTextField.class); tester.assertComponent("demoRequestsForm:submit", AjaxSubmitLink.class); tester.assertComponent("responseWindow", ModalWindow.class); }
public void testUrlLinkUnmodified() { // print(tester.getLastRenderedPage(), true, true); final FormTester requestFormTester = tester.newFormTester("demoRequestsForm"); final String requestName = "WMS_describeLayer.url"; requestFormTester.select("demoRequestsList", 1); /* * There's an AjaxFormSubmitBehavior attached to onchange so force it */ tester.executeAjaxEvent("demoRequestsForm:demoRequestsList", "onchange"); tester.assertModelValue("demoRequestsForm:demoRequestsList", requestName); final boolean isAjax = true; tester.clickLink("demoRequestsForm:submit", isAjax); tester.assertVisible("responseWindow"); IModel model = tester.getLastRenderedPage().getDefaultModel(); assertTrue(model.getObject() instanceof DemoRequest); DemoRequest req = (DemoRequest) model.getObject(); assertEquals(demoDir, req.getDemoDir()); String requestFileName = req.getRequestFileName(); String requestUrl = req.getRequestUrl(); String requestBody = req.getRequestBody(); assertEquals(requestName, requestFileName); assertNotNull(requestUrl); assertNull(requestBody); }
/** Kind of smoke test to make sure the page structure was correctly set up once loaded */ @Test public void testStructure() { // print(tester.getLastRenderedPage(), true, true); assertTrue(tester.getLastRenderedPage() instanceof DemoRequestsPage); tester.assertComponent("demoRequestsForm", Form.class); tester.assertComponent("demoRequestsForm:demoRequestsList", DropDownChoice.class); tester.assertComponent("demoRequestsForm:url", TextField.class); tester.assertComponent( "demoRequestsForm:body:editorContainer:editorParent:editor", TextArea.class); tester.assertComponent("demoRequestsForm:username", TextField.class); tester.assertComponent("demoRequestsForm:password", PasswordTextField.class); tester.assertComponent("demoRequestsForm:submit", AjaxSubmitLink.class); tester.assertComponent("responseWindow", ModalWindow.class); }
@Before public void performLogin() { tester.startPage(SchemaPage.class); if(tester.getLastRenderedPage() instanceof LoginPage) { FormTester formTester = tester.newFormTester("container:loginPanel:form"); IOrientDbSettings settings = ((OrienteerWebApplication)tester.getApplication()).getOrientDbSettings(); formTester.setValue("username", settings.getAdminUserName()); formTester.setValue("password", settings.getAdminPassword()); tester.clickLink("container:loginPanel:form:loginButtonsPanel:loginButton:command", true); } tester.assertRenderedPage(SchemaPage.class); }