/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.gwc.config;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertNotSame;
import static junit.framework.Assert.assertSame;
import static junit.framework.Assert.assertTrue;
import org.geoserver.data.test.SystemTestData;
import org.geoserver.test.GeoServerSystemTestSupport;
import org.geowebcache.storage.blobstore.memory.guava.GuavaCacheProvider;
import org.junit.Before;
import org.junit.Test;
public class GWCConfigTest extends GeoServerSystemTestSupport {
private GWCConfig oldDefaults;
private GWCConfig config;
@Override
protected void onSetUp(SystemTestData testData) throws Exception {
super.onSetUp(testData);
}
@Before
public void setup() throws Exception {
oldDefaults = GWCConfig.getOldDefaults();
config = new GWCConfig();
}
@Test
public void testSaneConfig() {
assertTrue(config.isSane());
assertSame(config, config.saneConfig());
assertTrue(oldDefaults.isSane());
assertSame(oldDefaults, oldDefaults.saneConfig());
config.setMetaTilingX(-1);
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.setMetaTilingY(-1);
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.setGutter(-1);
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.getDefaultCachingGridSetIds().clear();
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.getDefaultCoverageCacheFormats().clear();
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.getDefaultOtherCacheFormats().clear();
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
config.getDefaultVectorCacheFormats().clear();
assertFalse(config.isSane());
assertTrue((config = config.saneConfig()).isSane());
}
@Test
public void testClone() {
GWCConfig clone = config.clone();
assertEquals(config, clone);
assertNotSame(config.getDefaultCachingGridSetIds(), clone.getDefaultCachingGridSetIds());
assertNotSame(config.getDefaultCoverageCacheFormats(),
clone.getDefaultCoverageCacheFormats());
assertNotSame(config.getDefaultOtherCacheFormats(), clone.getDefaultOtherCacheFormats());
assertNotSame(config.getDefaultVectorCacheFormats(), clone.getDefaultVectorCacheFormats());
assertNotSame(config.getCacheConfigurations(), clone.getCacheConfigurations());
assertTrue(clone.getCacheConfigurations().containsKey(GuavaCacheProvider.class.toString()));
}
@Test
public void testIsServiceEnabled() {
config.setWMSCEnabled(!config.isWMSCEnabled());
config.setTMSEnabled(!config.isTMSEnabled());
assertEquals(config.isEnabled("wms"), config.isWMSCEnabled());
assertEquals(config.isEnabled("WMS"), config.isWMSCEnabled());
assertEquals(config.isEnabled("tms"), config.isTMSEnabled());
assertEquals(config.isEnabled("TMS"), config.isTMSEnabled());
assertTrue(config.isEnabled("anything else"));
}
}