Skip to content

Commit 2bd7e7e

Browse files
speilletgithub-actions[bot]
authored andcommittedJul 31, 2021
add test for a map theme with a particular style on a layer
1 parent 7c32a01 commit 2bd7e7e

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed
 

‎tests/src/python/test_qgsserver_wms_getprint_legend.py

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ class PyQgsServerWMSGetPrintLegend(QgsServerTestBase):
3636
QGIS server print behaves inconsistently regarding legend content"""
3737

3838
def test_wms_getprint_legend(self):
39-
"""Test project has 2 layer: red and green and four templates:
39+
"""Test project has 2 layer: red and green and five templates:
4040
red: follow map theme red
4141
green: follow map theme green
4242
blank: no map theme
4343
full: follow map theme full with both layer
44+
falsegreen : follow map theme falsegreen (visible layer : green but with blue style)
4445
"""
4546

4647
tmp_dir = QTemporaryDir()
@@ -264,6 +265,55 @@ def test_wms_getprint_legend(self):
264265
self.assertEqual(color.green(), 255)
265266
self.assertEqual(color.blue(), 0)
266267

268+
# full template, full theme, specified layer is red
269+
params["TEMPLATE"] = "falsegreen"
270+
params["map0:LAYERS"] = "red"
271+
response = QgsBufferServerResponse()
272+
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
273+
self.server.handleRequest(request, response, project)
274+
275+
image = QImage.fromData(response.body(), "PNG")
276+
color = image.pixelColor(600, 40)
277+
self.assertEqual(color.red(), 255)
278+
self.assertEqual(color.green(), 0)
279+
self.assertEqual(color.blue(), 0)
280+
color = image.pixelColor(600, 60)
281+
self.assertEqual(color.red(), 255)
282+
self.assertEqual(color.green(), 255)
283+
self.assertEqual(color.blue(), 255)
284+
285+
# full template, full theme, specified layer is green
286+
params["map0:LAYERS"] = "green"
287+
response = QgsBufferServerResponse()
288+
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
289+
self.server.handleRequest(request, response, project)
290+
291+
image = QImage.fromData(response.body(), "PNG")
292+
color = image.pixelColor(600, 40)
293+
self.assertEqual(color.red(), 0)
294+
self.assertEqual(color.green(), 0)
295+
self.assertEqual(color.blue(), 255)
296+
color = image.pixelColor(600, 60)
297+
self.assertEqual(color.red(), 255)
298+
self.assertEqual(color.green(), 255)
299+
self.assertEqual(color.blue(), 255)
300+
301+
# full template, full theme
302+
params["map0:LAYERS"] = ""
303+
response = QgsBufferServerResponse()
304+
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
305+
self.server.handleRequest(request, response, project)
306+
307+
image = QImage.fromData(response.body(), "PNG")
308+
color = image.pixelColor(600, 40)
309+
self.assertEqual(color.red(), 0)
310+
self.assertEqual(color.green(), 0)
311+
self.assertEqual(color.blue(), 255)
312+
color = image.pixelColor(600, 60)
313+
self.assertEqual(color.red(), 255)
314+
self.assertEqual(color.green(), 255)
315+
self.assertEqual(color.blue(), 255)
316+
267317

268318
if __name__ == '__main__':
269319
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.