/* (c) 2014 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.test; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.InputStream; import javax.imageio.ImageIO; import org.geotools.data.DataUtilities; import org.geotools.image.test.ImageAssert; import org.junit.Test; import org.w3c.dom.Document; /** * * @author Niels Charlier * */ public class WmsGetMapTest extends AbstractAppSchemaTestSupport { public WmsGetMapTest() throws Exception { super(); } @Override protected WmsSupportMockData createTestData() { WmsSupportMockData mockData = new WmsSupportMockData(); mockData.addStyle("Default", "styles/Default.sld"); mockData.addStyle("outcropcharacter", "styles/outcropcharacter.sld"); mockData.addStyle("positionalaccuracy", "styles/positionalaccuracy.sld"); mockData.addStyle("occurrencecount", "styles/attributeCountTest.sld"); return mockData; } @Test public void testGetMapOutcropCharacter() throws Exception { InputStream is = getBinary("wms?request=GetMap&SRS=EPSG:4326&layers=gsml:MappedFeature&styles=outcropcharacter&BBOX=-2,52,0,54&X=0&Y=0&width=20&height=20&FORMAT=image/png"); BufferedImage imageBuffer = ImageIO.read(is); assertNotBlank("app-schema test getmap outcrop character", imageBuffer, Color.WHITE); ImageAssert.assertEquals( DataUtilities.urlToFile(getClass().getResource("/test-data/img/outcrop.png")), imageBuffer, 10); } @Test public void testGetMapOutcropCharacterReprojection() throws Exception { InputStream is = getBinary("wms?request=GetMap&SRS=EPSG:3857&layers=gsml:MappedFeature&styles=outcropcharacter&BBOX=-222638.981586547,6800125.45439731,0,7170156.29399995&X=0&Y=0&width=20&height=20&FORMAT=image/png"); BufferedImage imageBuffer = ImageIO.read(is); assertNotBlank("app-schema test getmap outcrop character", imageBuffer, Color.WHITE); ImageAssert.assertEquals( DataUtilities.urlToFile(getClass().getResource("/test-data/img/outcrop_3857.png")), imageBuffer, 10); } @Test public void testGetMapPositionalAccuracy() throws Exception { InputStream is = getBinary("wms?request=GetMap&SRS=EPSG:4326&layers=gsml:MappedFeature&styles=positionalaccuracy&BBOX=-2,52,0,54&X=0&Y=0&width=20&height=20&FORMAT=image/png"); BufferedImage imageBuffer = ImageIO.read(is); assertNotBlank("app-schema test getmap positional accuracy", imageBuffer, Color.WHITE); ImageAssert.assertEquals( DataUtilities.urlToFile(getClass().getResource("/test-data/img/posacc.png")), imageBuffer, 10); } @Test public void testGetMapAfterWFS() throws Exception { Document doc = getAsDOM("wfs?version=1.1.0&request=getFeature&typeName=gsml:MappedFeature&maxFeatures=1"); LOGGER.info(prettyString(doc)); InputStream is = getBinary("wms?request=GetMap&SRS=EPSG:4326&layers=gsml:MappedFeature&styles=outcropcharacter&BBOX=-2,52,0,54&X=0&Y=0&width=20&height=20&FORMAT=image/png"); BufferedImage imageBuffer = ImageIO.read(is); assertNotBlank("app-schema test getmap outcrop character", imageBuffer, Color.WHITE); ImageAssert.assertEquals( DataUtilities.urlToFile(getClass().getResource("/test-data/img/outcrop.png")), imageBuffer, 10); } @Test public void testGetMapWithCount() throws Exception { Document doc = getAsDOM("wfs?version=1.1.0&request=getFeature&typeName=gsml:MappedFeature"); LOGGER.info(prettyString(doc)); InputStream is = getBinary("wms?request=GetMap&SRS=EPSG:4326&layers=gsml:MappedFeature&styles=occurrencecount&BBOX=-2,52,0,54&X=0&Y=0&width=20&height=20&FORMAT=image/png"); BufferedImage imageBuffer = ImageIO.read(is); assertNotBlank("app-schema test getmap outcrop character", imageBuffer, Color.WHITE); ImageAssert.assertEquals( DataUtilities.urlToFile(getClass().getResource("/test-data/img/occurrence.png")), imageBuffer, 10); } }