From 58e16e78420ec890c677bccc16847d44c5a31cec Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Wed, 14 Sep 2022 16:29:29 +0200 Subject: [PATCH] Tests for bugfix #49900 --- .../test_qgsserver_wms_getprint_atlas.py | 16 +- .../WMS_GetPrint_Atlas_Fixed_Scale.png | Bin 0 -> 13818 bytes .../qgis_server/bug_gh30817_atlas_pk.qgs | 1442 ++++++++++++++--- .../qgis_server/bug_gh30817_atlas_pk_data.csv | 1 + 4 files changed, 1203 insertions(+), 256 deletions(-) create mode 100644 tests/testdata/control_images/qgis_server/WMS_GetPrint_Atlas_Fixed_Scale/WMS_GetPrint_Atlas_Fixed_Scale.png diff --git a/tests/src/python/test_qgsserver_wms_getprint_atlas.py b/tests/src/python/test_qgsserver_wms_getprint_atlas.py index 2cefd2db0ae..49c94f73b5d 100644 --- a/tests/src/python/test_qgsserver_wms_getprint_atlas.py +++ b/tests/src/python/test_qgsserver_wms_getprint_atlas.py @@ -31,7 +31,7 @@ from qgis.core import QgsProject class TestQgsServerWMSGetPrintAtlas(QgsServerTestBase): """QGIS Server WMS Tests for GetPrint atlas request""" - def test_wms_getprint_atlas(self): + def __test_wms_getprint_atlas(self): qs = "?" + "&".join(["%s=%s" % i for i in list({ "MAP": urllib.parse.quote(self.projectPath), "SERVICE": "WMS", @@ -46,7 +46,7 @@ class TestQgsServerWMSGetPrintAtlas(QgsServerTestBase): r, h = self._result(self._execute_request(qs)) self._img_diff_error(r, h, "WMS_GetPrint_Atlas") - def test_wms_getprint_atlas_getProjectSettings(self): + def __test_wms_getprint_atlas_getProjectSettings(self): qs = "?" + "&".join(["%s=%s" % i for i in list({ "MAP": urllib.parse.quote(self.projectPath), "SERVICE": "WMS", @@ -62,7 +62,7 @@ class TestQgsServerWMSGetPrintAtlas(QgsServerTestBase): project = QgsProject() self.assertTrue(project.read(os.path.join(unitTestDataPath(), 'qgis_server', 'bug_gh30817_atlas_pk.qgs'))) - qs = "?" + "&".join(["%s=%s" % i for i in list({ + params = { "SERVICE": "WMS", "VERSION": "1.3.0", "REQUEST": "GetPrint", @@ -72,10 +72,18 @@ class TestQgsServerWMSGetPrintAtlas(QgsServerTestBase): "DPI": "50", "CRS": "EPSG:2056", "ATLAS_PK": "2", - }.items())]) + } + qs = "?" + "&".join(["%s=%s" % i for i in list(params.items())]) r, h = self._result(self._execute_request_project(qs, project)) self._img_diff_error(r, h, "WMS_GetPrint_Atlas_No_Pk") + # Test issue GH #49900: when using map scales scale + params['TEMPLATE'] = 'layout_fixed_scale' + params['ATLAS_PK'] = '4' + qs = "?" + "&".join(["%s=%s" % i for i in list(params.items())]) + r, h = self._result(self._execute_request_project(qs, project)) + self._img_diff_error(r, h, "WMS_GetPrint_Atlas_Fixed_Scale") + if __name__ == '__main__': unittest.main() diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Atlas_Fixed_Scale/WMS_GetPrint_Atlas_Fixed_Scale.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Atlas_Fixed_Scale/WMS_GetPrint_Atlas_Fixed_Scale.png new file mode 100644 index 0000000000000000000000000000000000000000..a350a91b9751588f945363ea924f682a45a6569c GIT binary patch literal 13818 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�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 literal 0 HcmV?d00001 diff --git a/tests/testdata/qgis_server/bug_gh30817_atlas_pk.qgs b/tests/testdata/qgis_server/bug_gh30817_atlas_pk.qgs index ff4359e4d44..3c7c09ef820 100644 --- a/tests/testdata/qgis_server/bug_gh30817_atlas_pk.qgs +++ b/tests/testdata/qgis_server/bug_gh30817_atlas_pk.qgs @@ -1,13 +1,12 @@ - + - - - + + - - PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs 3857 3857 @@ -22,7 +21,7 @@ - + @@ -31,9 +30,9 @@ data_34a17c5e_39a1_493a_af95_b5a233b40db1 - + - + @@ -41,15 +40,15 @@ meters - -2217275.19168864423409104 - 3779713.49600001005455852 - -2217273.09938558330759406 - 3779715.24036237737163901 + -2217274.8190666357986629 + 3779713.57789495680481195 + -2217272.72676357487216592 + 3779715.32225732412189245 0 - - PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs 3857 3857 @@ -65,15 +64,14 @@ - + - - + Annotations_c1e8b38e_61dd_49f2_8dc3_36f4fd4a02fd @@ -81,7 +79,7 @@ Annotations - + 0 @@ -104,7 +102,7 @@ - + 0 @@ -124,17 +122,17 @@ - + 3.97240340488328014 - 45.15886406139620135 + 45.10755960503590245 5.44448585846197997 46.14132936036769905 -19.91812149041812674 - 32.12487455193483754 - -19.91810358996271191 + 32.12487412472966497 + -19.91810340739247565 32.12488719067417264 data_34a17c5e_39a1_493a_af95_b5a233b40db1 @@ -144,8 +142,8 @@ data_csv - - PROJCRS["CH1903+ / LV95",BASEGEOGCRS["CH1903+",DATUM["CH1903+",ELLIPSOID["Bessel 1841",6377397.155,299.1528128,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4150]],CONVERSION["Swiss Oblique Mercator 1995",METHOD["Hotine Oblique Mercator (variant B)",ID["EPSG",9815]],PARAMETER["Latitude of projection centre",46.9524055555556,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8811]],PARAMETER["Longitude of projection centre",7.43958333333333,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8812]],PARAMETER["Azimuth of initial line",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8813]],PARAMETER["Angle from Rectified to Skew Grid",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8814]],PARAMETER["Scale factor on initial line",1,SCALEUNIT["unity",1],ID["EPSG",8815]],PARAMETER["Easting at projection centre",2600000,LENGTHUNIT["metre",1],ID["EPSG",8816]],PARAMETER["Northing at projection centre",1200000,LENGTHUNIT["metre",1],ID["EPSG",8817]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],AREA["Liechtenstein; Switzerland."],BBOX[45.82,5.96,47.81,10.49]],ID["EPSG",2056]] + + PROJCRS["CH1903+ / LV95",BASEGEOGCRS["CH1903+",DATUM["CH1903+",ELLIPSOID["Bessel 1841",6377397.155,299.1528128,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4150]],CONVERSION["Swiss Oblique Mercator 1995",METHOD["Hotine Oblique Mercator (variant B)",ID["EPSG",9815]],PARAMETER["Latitude of projection centre",46.9524055555556,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8811]],PARAMETER["Longitude of projection centre",7.43958333333333,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8812]],PARAMETER["Azimuth of initial line",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8813]],PARAMETER["Angle from Rectified to Skew Grid",90,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8814]],PARAMETER["Scale factor on initial line",1,SCALEUNIT["unity",1],ID["EPSG",8815]],PARAMETER["Easting at projection centre",2600000,LENGTHUNIT["metre",1],ID["EPSG",8816]],PARAMETER["Northing at projection centre",1200000,LENGTHUNIT["metre",1],ID["EPSG",8817]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["Europe - Liechtenstein and Switzerland"],BBOX[45.82,5.96,47.81,10.49]],ID["EPSG",2056]] +proj=somerc +lat_0=46.9524055555556 +lon_0=7.43958333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs 47 2056 @@ -176,7 +174,7 @@ - + 0 @@ -189,7 +187,7 @@ - + @@ -214,52 +212,241 @@ 1 0 - + - - - + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -270,92 +457,94 @@ 0 0 1 - - - - + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -363,29 +552,29 @@ - + - - + - + - + - + - + @@ -411,8 +600,8 @@ - @@ -444,7 +633,7 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - + @@ -462,14 +651,7 @@ def my_form_open(dialog, layer, feature): - - - - - - 1 - true - + 0 @@ -513,6 +695,7 @@ def my_form_open(dialog, layer, feature): true + Default 2 MU @@ -587,9 +770,9 @@ def my_form_open(dialog, layer, feature): @@ -616,105 +799,105 @@ def my_form_open(dialog, layer, feature): - - - + + + - + - + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - + - + - - - - - - - - - - - + + + + + + + + + + + @@ -722,63 +905,795 @@ def my_form_open(dialog, layer, feature): - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + + + + + + + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - 85°S to 85°N"],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs 3857 3857 @@ -790,19 +1705,42 @@ def my_form_open(dialog, layer, feature): - + + + + + + + + + + + + diff --git a/tests/testdata/qgis_server/bug_gh30817_atlas_pk_data.csv b/tests/testdata/qgis_server/bug_gh30817_atlas_pk_data.csv index c0a58eb04b2..c0e4c609ca1 100644 --- a/tests/testdata/qgis_server/bug_gh30817_atlas_pk_data.csv +++ b/tests/testdata/qgis_server/bug_gh30817_atlas_pk_data.csv @@ -2,3 +2,4 @@ WKT, "POLYGON ((4.8452965180606 46.1362035978033,4.94146270849539 45.8947544654919,5.21516648127133 45.9153443716443,5.16338468642183 46.1413293603677,4.8452965180606 46.1362035978033))" "POLYGON ((4.35706816662244 45.7916903788217,4.40145256220773 45.4865387880861,4.06856959531807 45.5280126703756,3.97240340488328 45.786532162445,4.35706816662244 45.7916903788217))" "POLYGON ((5.08201329451547 45.4138859638244,5.01543670113754 45.2787109954903,5.43708845919777 45.1588640613962,5.44448585846198 45.3827203902239,5.08201329451547 45.4138859638244))" +"POLYGON ((4.69826111430302 45.8666064555291,4.53503142343834 45.2823375503067,4.99716563895345 45.1075596050359,4.94945429451764 45.7859095265158,4.69826111430302 45.8666064555291))"