/* (c) 2015 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.test.web; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.markup.repeater.data.DataView; import org.geoserver.web.GeoServerWicketTestSupport; import org.geoserver.web.demo.MapPreviewPage; public class AbstractMapPreviewPageTest extends GeoServerWicketTestSupport { protected List<String> EXPECTED_GML_LINKS = new ArrayList<String>(); protected AbstractMapPreviewPageTest(List<String> expectedGmlLinks) { this.EXPECTED_GML_LINKS = expectedGmlLinks; } public void testAppSchemaGmlLinks() { tester.startPage(MapPreviewPage.class); tester.assertRenderedPage(MapPreviewPage.class); DataView items = (DataView) tester.getComponentFromLastRenderedPage("table:listContainer:items"); assertNotNull(items); assertEquals(EXPECTED_GML_LINKS.size(), items.size()); // collect GML links model objects List<String> gmlLinks = new ArrayList<String>(); for (int i=1; i<=EXPECTED_GML_LINKS.size(); i++) { ExternalLink gmlLink = (ExternalLink) items.get(i + ":itemProperties:3:component:gml"); assertNotNull(gmlLink); gmlLinks.add(gmlLink.getDefaultModelObjectAsString()); } Collections.sort(EXPECTED_GML_LINKS); Collections.sort(gmlLinks); // check the two lists match assertArrayEquals(EXPECTED_GML_LINKS.toArray(new String[] {}), gmlLinks.toArray(new String[] {})); } }