Skip to content

Commit

Permalink
add test for a map theme with a particular style on a layer
Browse files Browse the repository at this point in the history
  • Loading branch information
speillet authored and github-actions[bot] committed Jul 31, 2021
1 parent 7c32a01 commit 2bd7e7e
Showing 1 changed file with 51 additions and 1 deletion.
52 changes: 51 additions & 1 deletion tests/src/python/test_qgsserver_wms_getprint_legend.py
Expand Up @@ -36,11 +36,12 @@ class PyQgsServerWMSGetPrintLegend(QgsServerTestBase):
QGIS server print behaves inconsistently regarding legend content"""

def test_wms_getprint_legend(self):
"""Test project has 2 layer: red and green and four templates:
"""Test project has 2 layer: red and green and five templates:
red: follow map theme red
green: follow map theme green
blank: no map theme
full: follow map theme full with both layer
falsegreen : follow map theme falsegreen (visible layer : green but with blue style)
"""

tmp_dir = QTemporaryDir()
Expand Down Expand Up @@ -264,6 +265,55 @@ def test_wms_getprint_legend(self):
self.assertEqual(color.green(), 255)
self.assertEqual(color.blue(), 0)

# full template, full theme, specified layer is red
params["TEMPLATE"] = "falsegreen"
params["map0:LAYERS"] = "red"
response = QgsBufferServerResponse()
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
self.server.handleRequest(request, response, project)

image = QImage.fromData(response.body(), "PNG")
color = image.pixelColor(600, 40)
self.assertEqual(color.red(), 255)
self.assertEqual(color.green(), 0)
self.assertEqual(color.blue(), 0)
color = image.pixelColor(600, 60)
self.assertEqual(color.red(), 255)
self.assertEqual(color.green(), 255)
self.assertEqual(color.blue(), 255)

# full template, full theme, specified layer is green
params["map0:LAYERS"] = "green"
response = QgsBufferServerResponse()
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
self.server.handleRequest(request, response, project)

image = QImage.fromData(response.body(), "PNG")
color = image.pixelColor(600, 40)
self.assertEqual(color.red(), 0)
self.assertEqual(color.green(), 0)
self.assertEqual(color.blue(), 255)
color = image.pixelColor(600, 60)
self.assertEqual(color.red(), 255)
self.assertEqual(color.green(), 255)
self.assertEqual(color.blue(), 255)

# full template, full theme
params["map0:LAYERS"] = ""
response = QgsBufferServerResponse()
request = QgsBufferServerRequest('?' + '&'.join(["%s=%s" % i for i in params.items()]))
self.server.handleRequest(request, response, project)

image = QImage.fromData(response.body(), "PNG")
color = image.pixelColor(600, 40)
self.assertEqual(color.red(), 0)
self.assertEqual(color.green(), 0)
self.assertEqual(color.blue(), 255)
color = image.pixelColor(600, 60)
self.assertEqual(color.red(), 255)
self.assertEqual(color.green(), 255)
self.assertEqual(color.blue(), 255)


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

0 comments on commit 2bd7e7e

Please sign in to comment.