/* (c) 2017 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wms; import java.net.URLDecoder; import org.geoserver.data.test.MockData; import org.geoserver.data.test.SystemTestData; import org.geoserver.ows.util.KvpMap; import org.junit.Test; import static org.junit.Assert.assertTrue; public class WMSRequestsTest extends WMSTestSupport { @Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); testData.addDefaultRasterLayer(MockData.TASMANIA_DEM, getCatalog()); } @SuppressWarnings("unchecked") @Test public void testGetGetMapUrlWithDimensions() throws Exception { GetMapRequest request = createGetMapRequest(MockData.TASMANIA_DEM); KvpMap rawKvp = new KvpMap(request.getRawKvp()); rawKvp.put("time", "2017-04-07T19:56:00.000Z"); rawKvp.put("elevation", "1013.2"); rawKvp.put("dim_my_dimension", "010"); request.setRawKvp(rawKvp); request.setFormat(DefaultWebMapService.FORMAT); DefaultWebMapService.autoSetBoundsAndSize(request); String url = WMSRequests.getGetMapUrl(request, request.getLayers().get(0).getName(), 0, null, null, null); url = URLDecoder.decode(url, "UTF-8"); assertTrue("Missing time in GetMap URL: " + url, url.contains("&time=2017-04-07T19:56:00.000Z")); assertTrue("Missing elevation in GetMap URL: " + url, url.contains("&elevation=1013.2")); assertTrue("Missing custom dimension in GetMap URL: " + url, url.contains("&dim_my_dimension=010")); } }