Package org.geoserver.gwc.web

Source Code of org.geoserver.gwc.web.GWCServiceLinksTest

package org.geoserver.gwc.web;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.wicket.Component.IVisitor;
import org.apache.wicket.Page;
import org.apache.wicket.markup.html.link.ExternalLink;
import org.geoserver.ows.util.KvpUtils;
import org.geoserver.web.GeoServerHomePage;
import org.geoserver.web.GeoServerWicketTestSupport;
import org.junit.Test;

public class GWCServiceLinksTest extends GeoServerWicketTestSupport {

   
    @Test
    public void testCapabilitiesLinks() {
        GeoServerHomePage page = new GeoServerHomePage();

        tester.startPage(page);
        tester.assertRenderedPage(GeoServerHomePage.class);

        Page lastPage = tester.getLastRenderedPage();
        final List<String> services = new ArrayList<String>();
        lastPage.visitChildren(ExternalLink.class, new IVisitor<ExternalLink>() {

            @Override
            public Object component(ExternalLink component) {
                String url = (String) component.getDefaultModelObject();
                if(url != null) {
                    if(url.startsWith("../gwc/service/")) {
                        int idx = url.indexOf("?");
                        String service;
                        if(idx > 0) {
                            service = url.substring("./gwc/service/".length() + 1, idx);
                        } else {
                            service = url.substring("./gwc/service/".length() + 1);
                        }
                        if(service != null) {
                            services.add(service);
                        }
                    } else if(url.contains("GetCapabilities")){
                        Map<String, Object> params = KvpUtils.parseQueryString(url);
                        String service = (String) params.get("service");
                        if(service != null) {
                            services.add(service);
                        }
                    }
                }
               
                return IVisitor.CONTINUE_TRAVERSAL;
            }
           
        });
       
        // GEOS-5886
        assertFalse(services.contains("gwc"));
        // these come from the custom provider
        assertTrue(services.contains("wmts"));
        assertTrue(services.contains("wms"));
        assertTrue(services.contains("tms/1.0.0"));
    }

}
TOP

Related Classes of org.geoserver.gwc.web.GWCServiceLinksTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.