/* (c) 2014 - 2016 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.wms.web.data;
import static org.junit.Assert.*;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.markup.html.form.ValidationErrorFeedback;
import org.apache.wicket.util.tester.FormTester;
import org.geoserver.web.GeoServerHomePage;
import org.geoserver.web.GeoServerWicketTestSupport;
import org.geoserver.wms.WMSInfo;
import org.geoserver.wms.web.WMSAdminPage;
import org.junit.Before;
import org.junit.Test;
public class WMSAdminPageTest extends GeoServerWicketTestSupport {
private WMSInfo wms;
@Before
public void setUp() throws Exception {
wms = getGeoServerApplication().getGeoServer().getService(WMSInfo.class);
login();
}
@Test
public void testValues() throws Exception {
tester.startPage(WMSAdminPage.class);
tester.assertModelValue("form:keywords", wms.getKeywords());
tester.assertModelValue("form:srs", new ArrayList<String>());
}
@Test
public void testFormSubmit() throws Exception {
tester.startPage(WMSAdminPage.class);
FormTester ft = tester.newFormTester("form");
ft.submit("submit");
tester.assertNoErrorMessage();
tester.assertRenderedPage(GeoServerHomePage.class);
}
@Test
public void testWatermarkLocalFile() throws Exception {
File f = new File(getClass().getResource("GeoServer_75.png").toURI());
tester.startPage(WMSAdminPage.class);
FormTester ft = tester.newFormTester("form");
ft.setValue("watermark.uRL", f.getAbsolutePath());
ft.submit("submit");
tester.assertNoErrorMessage();
tester.assertRenderedPage(GeoServerHomePage.class);
}
@Test
public void testFormInvalid() throws Exception {
tester.startPage(WMSAdminPage.class);
FormTester ft = tester.newFormTester("form");
ft.setValue("srs", "bla");
ft.submit("submit");
List errors = tester.getMessages(FeedbackMessage.ERROR);
assertEquals(1, errors.size());
assertTrue(((ValidationErrorFeedback)errors.get(0)).getMessage().toString().contains("bla"));
tester.assertRenderedPage(WMSAdminPage.class);
}
@Test
public void testBBOXForEachCRS() throws Exception {
assertFalse(wms.isBBOXForEachCRS());
tester.startPage(WMSAdminPage.class);
FormTester ft = tester.newFormTester("form");
ft.setValue("bBOXForEachCRS", true);
ft.submit("submit");
assertTrue(wms.isBBOXForEachCRS());
}
@Test
public void testDynamicStylingDisabled() throws Exception {
assertFalse(wms.isDynamicStylingDisabled());
tester.startPage(WMSAdminPage.class);
FormTester ft = tester.newFormTester("form");
ft.setValue("dynamicStyling.disabled", true);
ft.submit("submit");
assertTrue(wms.isDynamicStylingDisabled());
}
}