@Test public void getLegend() throws Exception { String url = "/geoserver/wms"; whenHttp(server) .match(get(url)) .then( custom( new Function<Response, Response>() { @Override public Response apply(Response r) { URL url = Resources.getResource("map.png"); try { r.getOutputStream().write(Resources.toByteArray(url)); } catch (IOException e) { System.err.println("Unable to read map.png!"); } r.setContentType("image/png"); return r; } }), status(HttpStatus.OK_200)); Geoserver geoserver = new Geoserver("http://00.0.0.0:8888/geoserver", "admin", "geoserver"); GeoserverCommands commands = new GeoserverCommands(); commands.setGeoserver(geoserver); String result = commands.getLegend( "states", "states_by_pop", null, null, null, "legend.png", "20", "20", "image/png"); assertEquals("legend.png", result); Map<String, String[]> params = server.getCalls().get(0).getParameters(); assertEquals("states", params.get("LAYER")[0]); assertEquals("states_by_pop", params.get("STYLE")[0]); assertNull(params.get("FEATURETYPE")); assertNull(params.get("RULE")); assertNull(params.get("SCALE")); assertEquals("image/png", params.get("FORMAT")[0]); assertEquals("20", params.get("WIDTH")[0]); assertEquals("20", params.get("HEIGHT")[0]); verifyHttp(server).once(method(Method.GET), uri(url)); }