package org.geoserver.web.publish;
import org.apache.wicket.Component;
import org.apache.wicket.feedback.ErrorLevelFeedbackMessageFilter;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.tester.FormTester;
import org.geoserver.catalog.LayerInfo;
import org.geoserver.data.test.MockData;
import org.geoserver.web.ComponentBuilder;
import org.geoserver.web.FormTestPage;
import org.geoserver.web.GeoServerWicketTestSupport;
public class HTTPLayerConfigTest extends GeoServerWicketTestSupport {
LayerInfo polygons;
FormTestPage page;
@Override
protected void setUpInternal() throws Exception {
polygons = getCatalog().getLayerByName(MockData.BASIC_POLYGONS.getLocalPart());
page = new FormTestPage(new ComponentBuilder() {
public Component buildComponent(String id) {
return new HTTPLayerConfig(id, new Model(polygons));
}
});
tester.startPage(page);
}
public void testDefaults() {
tester.assertRenderedPage(FormTestPage.class);
FormTester ft = tester.newFormTester("form");
ft.submit();
assertEquals(0, page.getSession().getFeedbackMessages().messages(new ErrorLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
}
public void testInvalid() {
final LayerInfo polygons = getCatalog().getLayerByName(MockData.BASIC_POLYGONS.getLocalPart());
FormTestPage page = new FormTestPage(new ComponentBuilder() {
public Component buildComponent(String id) {
return new HTTPLayerConfig(id, new Model(polygons));
}
});
tester.startPage(page);
tester.assertComponent("form:panel:cacheAgeMax", TextField.class);
tester.assertRenderedPage(FormTestPage.class);
FormTester ft = tester.newFormTester("form");
ft.setValue("panel:cacheAgeMax", "-20");
ft.submit();
assertEquals(1, page.getSession().getFeedbackMessages().messages(new ErrorLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
}
public void testValid() {
FormTester ft = tester.newFormTester("form");
ft.setValue("panel:cacheAgeMax", "3600");
ft.submit();
// System.out.println(page.getSession().getFeedbackMessages());
assertEquals(0, page.getSession().getFeedbackMessages().messages(new ErrorLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
// System.out.println(polygons.getResource().getMetadata().get("cacheAgeMax").getClass());
assertEquals(Integer.valueOf(3600), polygons.getResource().getMetadata().get("cacheAgeMax",Integer.class));
}
}