Package org.geowebcache.config

Source Code of org.geowebcache.config.XMLConfigurationTest

package org.geowebcache.config;

import java.io.InputStream;
import java.util.Iterator;
import java.util.List;

import junit.framework.TestCase;

import org.geowebcache.GeoWebCacheException;
import org.geowebcache.filter.request.RequestFilter;
import org.geowebcache.grid.GridSetBroker;
import org.geowebcache.grid.GridSubset;
import org.geowebcache.grid.SRS;
import org.geowebcache.layer.TileLayer;
import org.geowebcache.mime.FormatModifier;
import org.geowebcache.mime.ImageMime;

public class XMLConfigurationTest extends TestCase {
   
    public static final String LATEST_FILENAME = "geowebcache_125.xml";

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    public void testLoadPre10() throws Exception {
        List<TileLayer> layers = loadResource("geowebcache_pre10.xml");
        TileLayer layer = findLayer(layers, "topp:states");
        assertTrue(layer != null);
        TileLayer layer2 = findLayer(layers, "topp:states2");
        GridSubset grid = layer2.getGridSubsetForSRS(SRS.getSRS(2163));
        assertTrue(layer2 != null);
        assertTrue(grid != null);
    }
       
    public void testLoad10() throws Exception {
        List<TileLayer> layers = loadResource("geowebcache_10.xml");
        TileLayer layer = findLayer(layers, "topp:states");
        assertTrue(layer != null);
        //assertEquals(layer.getCachePrefix(), "/var/lib/geowebcache/topp_states");
        TileLayer layer2 = findLayer(layers, "topp:states2");
        GridSubset grid = layer2.getGridSubsetForSRS(SRS.getSRS(2163));
        assertTrue(layer2 != null);
        assertTrue(grid != null);
    }
   
    public void testLoad101() throws Exception {
        List<TileLayer> layers = loadResource("geowebcache_101.xml");
        TileLayer layer = findLayer(layers, "topp:states");
        assertTrue(layer != null);
        //assertEquals(layer.getCachePrefix(), "/var/lib/geowebcache/topp_states");
        TileLayer layer2 = findLayer(layers, "topp:states2");
        GridSubset grid = layer2.getGridSubsetForSRS(SRS.getSRS(2163));
        assertTrue(layer2 != null);
        assertTrue(grid != null);
       
        // The additions in 1.0.1 are allowCacheBypass and backendTimeout
        assertEquals(layer.getBackendTimeout().intValue(), 60);
        assertEquals(layer2.getBackendTimeout().intValue(), 235);
        assertEquals(layer.isCacheBypassAllowed().booleanValue(), true);
        assertEquals(layer2.isCacheBypassAllowed().booleanValue(), false);
    }
   
    public void testLoad114() throws Exception {
        List<TileLayer> layers = loadResource("geowebcache_114.xml");
        TileLayer layer = findLayer(layers, "topp:states");
        assertTrue(layer != null);
        //assertEquals(layer.getCachePrefix(), "/var/lib/geowebcache/topp_states");
        TileLayer layer2 = findLayer(layers, "topp:states2");
        GridSubset grid = layer2.getGridSubsetForSRS(SRS.getSRS(2163));
        assertTrue(layer2 != null);
        assertTrue(grid != null);
       
        // The additions in 1.0.1 are allowCacheBypass and backendTimeout
        assertEquals(layer.getBackendTimeout().intValue(), 120);
        assertEquals(layer2.getBackendTimeout().intValue(), 120);
        assertEquals(layer.isCacheBypassAllowed().booleanValue(), true);
        assertEquals(layer2.isCacheBypassAllowed().booleanValue(), true);
       
        FormatModifier fm = layer.getFormatModifier(ImageMime.jpeg);
        assertEquals(fm.getBgColor(), "0xDDDDDD");
        assertTrue(fm.getRequestFormat().equals(ImageMime.png));
       
        List<RequestFilter> filters = layer.getRequestFilters();
        assertEquals(filters.get(0).getName(),"testWMSRasterFilter");
        assertEquals(filters.get(1).getName(),"testFileRasterFilter");
    }
   
   
    public void testLoad115() throws Exception {
        List<TileLayer> layers = loadResource(LATEST_FILENAME);
        TileLayer layer = findLayer(layers, "topp:states");
        assertTrue(layer != null);
        //assertEquals(layer.getCachePrefix(), "/var/lib/geowebcache/topp_states");
        TileLayer layer2 = findLayer(layers, "topp:states2");
        GridSubset grid = layer2.getGridSubsetForSRS(SRS.getSRS(2163));
        assertTrue(layer2 != null);
        assertTrue(grid != null);
       
        // The additions in 1.0.1 are allowCacheBypass and backendTimeout
        assertEquals(layer.getBackendTimeout().intValue(), 120);
        assertEquals(layer2.getBackendTimeout().intValue(), 120);
        assertEquals(layer.isCacheBypassAllowed().booleanValue(), true);
        assertEquals(layer2.isCacheBypassAllowed().booleanValue(), true);
       
        FormatModifier fm = layer.getFormatModifier(ImageMime.jpeg);
        assertEquals(fm.getBgColor(), "0xDDDDDD");
        assertTrue(fm.getRequestFormat().equals(ImageMime.png));
       
        List<RequestFilter> filters = layer.getRequestFilters();
        RequestFilter filter0 = filters.get(0);
        assertEquals(filter0.getName(),"testWMSRasterFilter");
        RequestFilter filter1 = filters.get(1);
        assertEquals(filter1.getName(),"testFileRasterFilter");
    }
   
    private TileLayer findLayer(List<TileLayer> layers, String layerName)
    throws GeoWebCacheException {
        Iterator<TileLayer> iter = layers.iterator();
       
        while(iter.hasNext()) {
            TileLayer layer = iter.next();
            if(layer.getName().equals(layerName)) {
                return layer;
            }
        }
       
        throw new GeoWebCacheException("Layer " + layerName +
                " not found, set has " + layers.size() + " layers.");
    }
   
    private List<TileLayer> loadResource(String fileName) throws Exception {
        InputStream is = XMLConfiguration.class.getResourceAsStream(fileName);
       
        XMLConfiguration xmlConfig = new XMLConfiguration(is);
       
        GridSetBroker gsb = new GridSetBroker(false, false);
       
        List<TileLayer> list = xmlConfig.getTileLayers();
       
        Iterator<TileLayer> iter = list.iterator();
        while(iter.hasNext()) {
            TileLayer layer = iter.next();
           
            layer.initialize(gsb);  
        }
       
        return list;
    }
}
TOP

Related Classes of org.geowebcache.config.XMLConfigurationTest

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.