From b25c043015ee8e31d16e01e08d65c37e9a89bbcb Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Tue, 21 Jan 2020 19:31:43 +0100 Subject: [PATCH] Add unit test --- tests/src/python/test_qgsserver_wms_getmap.py | 22 ++++++++++++++++++ .../WMS_GetMap_DuplicateNames.png | Bin 0 -> 23121 bytes .../test_project_wms_duplicate_names.qgz | Bin 0 -> 7401 bytes 3 files changed, 22 insertions(+) create mode 100644 tests/testdata/control_images/qgis_server/WMS_GetMap_DuplicateNames/WMS_GetMap_DuplicateNames.png create mode 100644 tests/testdata/qgis_server/test_project_wms_duplicate_names.qgz diff --git a/tests/src/python/test_qgsserver_wms_getmap.py b/tests/src/python/test_qgsserver_wms_getmap.py index a11bb3f4f4a..08b3f280c00 100644 --- a/tests/src/python/test_qgsserver_wms_getmap.py +++ b/tests/src/python/test_qgsserver_wms_getmap.py @@ -1730,6 +1730,28 @@ class TestQgsServerWMSGetMap(QgsServerTestBase): r, h = self._result(self._execute_request(qs)) self._img_diff_error(r, h, "WMS_GetMap_Mode_8bit_with_transparency") + def test_multiple_layers_with_equal_name(self): + + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(os.path.join(self.testdata_path, 'test_project_wms_duplicate_names.qgz')), + "SERVICE": "WMS", + "VERSION": "1.3.0", + "REQUEST": "GetMap", + "BBOX": "613402.5658687877003,5809005.018114360981,619594.408781287726,5813869.006602735259", + "CRS": "EPSG:25832", + "WIDTH": "429", + "HEIGHT": "337", + "LAYERS": "layer", + "STYLES": ",", + "FORMAT": "image/png", + "DPI": "200", + "MAP_RESOLUTION": "200", + "FORMAT_OPTIONS": "dpi:200" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMS_GetMap_DuplicateNames") + if __name__ == '__main__': unittest.main() diff --git a/tests/testdata/control_images/qgis_server/WMS_GetMap_DuplicateNames/WMS_GetMap_DuplicateNames.png b/tests/testdata/control_images/qgis_server/WMS_GetMap_DuplicateNames/WMS_GetMap_DuplicateNames.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2efb15e6bbea21288395b64c8d32835c7d8272 GIT binary patch literal 23121 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