package org.geoserver.web; import java.util.Collections; import java.util.List; import org.apache.wicket.Component; import org.apache.wicket.markup.html.basic.Label; public class GeoServerHomePageTest extends GeoServerWicketTestSupport { @Override protected String[] getSpringContextLocations() { String[] defaultLocations = super.getSpringContextLocations(); String[] extraLocations = new String[defaultLocations.length + 1]; System.arraycopy(defaultLocations, 0, extraLocations, 0, defaultLocations.length); extraLocations[extraLocations.length - 1] = "classpath*:/org/geoserver/web/GeoServerHomePageTestContext.xml"; return extraLocations; } public void testProvidedGetCapabilities() { tester.startPage(GeoServerHomePage.class); tester.assertListView( "providedCaps", Collections.singletonList(getGeoServerApplication().getBeanOfType( CapabilitiesHomePageLinkProvider.class))); } public void testProvidedCentralBodyContent() { tester.startPage(GeoServerHomePage.class); GeoServerApplication geoServerApplication = getGeoServerApplication(); List<GeoServerHomePageContentProvider> providers; providers = geoServerApplication.getBeansOfType(GeoServerHomePageContentProvider.class); assertTrue(providers.size() > 0); tester.assertListView("contributedContent", providers); } public static class MockHomePageContentProvider implements GeoServerHomePageContentProvider { public Component getPageBodyComponent(final String id) { return new Label(id, "MockHomePageContentProvider"); } } }