@org.junit.Test public void testStylesForLayerGroup() throws Exception { GetLegendGraphicRequest request; requiredParameters.put("LAYER", NATURE_GROUP); requiredParameters.put("STYLE", "style1,style2"); request = requestReader.read( new GetLegendGraphicRequest(), requiredParameters, requiredParameters); assertTrue(request.getStyles().size() == 2); }
/** * This test ensures that when a SLD parameter has been passed that refers to a SLD document * with multiple styles, the required one is choosed based on the LAYER parameter. * * <p>This is the case where a remote SLD document is used in "library" mode. */ @org.junit.Test public void testRemoteSLDMultipleStyles() throws Exception { final URL remoteSldUrl = getClass().getResource("MultipleStyles.sld"); this.allParameters.put("SLD", remoteSldUrl.toExternalForm()); this.allParameters.put("LAYER", "cite:Ponds"); this.allParameters.put("STYLE", "Ponds"); GetLegendGraphicRequest request = requestReader.read(new GetLegendGraphicRequest(), allParameters, allParameters); // the style names Ponds is declared in third position on the sld doc Style selectedStyle = request.getStyles().get(0); assertNotNull(selectedStyle); assertEquals("Ponds", selectedStyle.getName()); this.allParameters.put("LAYER", "cite:Lakes"); this.allParameters.put("STYLE", "Lakes"); request = requestReader.read(new GetLegendGraphicRequest(), allParameters, allParameters); // the style names Ponds is declared in third position on the sld doc selectedStyle = request.getStyles().get(0); assertNotNull(selectedStyle); assertEquals("Lakes", selectedStyle.getName()); }