From 7adec6bdc33f87bdb2b74e33a0696fd65634427d Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Wed, 1 Apr 2020 16:04:40 +0200 Subject: [PATCH 2/2] opengis: stop using uppercase parameters (#41224) --- passerelle/apps/opengis/models.py | 48 +++++++++++++++---------------- tests/test_opengis.py | 26 ++++++++--------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/passerelle/apps/opengis/models.py b/passerelle/apps/opengis/models.py index 7d49df5e..6cf84ae5 100644 --- a/passerelle/apps/opengis/models.py +++ b/passerelle/apps/opengis/models.py @@ -121,9 +121,9 @@ class OpenGIS(BaseResource): version_str = self.get_wfs_service_version() version_tuple = tuple(int(x) for x in version_str.split('.')) if version_tuple <= (1, 1, 0): - return 'TYPENAME' + return 'typename' else: - return 'TYPENAMES' + return 'typenames' def check_status(self): if self.wms_service_url: @@ -261,17 +261,17 @@ class OpenGIS(BaseResource): raise APIError('Bad coordinates format') bbox = self.get_bbox(lon - 0.0001, lat - 0.0001, lon + 0.0001, lat + 0.0001) params = { - 'VERSION': '1.3.0', - 'SERVICE': 'WMS', - 'REQUEST': 'GetFeatureInfo', - 'INFO_FORMAT': 'application/vnd.ogc.gml', - 'STYLES': '', - 'I': '24', 'J': '24', # pixel in the middle of - 'HEIGHT': '50', 'WIDTH': '50', # a 50x50 square - 'CRS': self.projection, - 'LAYERS': self.query_layer, - 'QUERY_LAYERS': self.query_layer, - 'BBOX': bbox, + 'version': '1.3.0', + 'service': 'WMS', + 'request': 'GetFeatureInfo', + 'info_format': 'application/vnd.ogc.gml', + 'styles': '', + 'i': '24', 'J': '24', # pixel in the middle of + 'height': '50', 'WIDTH': '50', # a 50x50 square + 'crs': self.projection, + 'layers': self.query_layer, + 'query_layers': self.query_layer, + 'bbox': bbox, } response = self.requests.get(self.wms_service_url, params=params) element = ET.fromstring(response.content) @@ -299,17 +299,17 @@ class OpenGIS(BaseResource): bbox = self.get_bbox(ll_lon, ll_lat, ur_lon, ur_lat) params = { - 'VERSION': '1.3.0', - 'SERVICE': 'WMS', - 'REQUEST': 'GetMap', - 'LAYERS': self.query_layer, - 'STYLES': '', - 'FORMAT': 'image/png', - 'TRANSPARENT': 'false', - 'HEIGHT': '256', - 'WIDTH': '256', - 'CRS': self.projection, - 'BBOX': bbox, + 'version': '1.3.0', + 'service': 'wMS', + 'request': 'getMap', + 'layers': self.query_layer, + 'styles': '', + 'format': 'image/png', + 'transparent': 'false', + 'height': '256', + 'width': '256', + 'crs': self.projection, + 'bbox': bbox, } response = self.requests.get( self.wms_service_url, diff --git a/tests/test_opengis.py b/tests/test_opengis.py index fa5e2de7..af5d9480 100644 --- a/tests/test_opengis.py +++ b/tests/test_opengis.py @@ -283,8 +283,8 @@ def test_feature_info(mocked_get, app, connector): assert endpoint == '/opengis/test/feature_info' mocked_get.return_value = utils.FakedResponse(content=FAKE_FEATURE_INFO, status_code=200) resp = app.get(endpoint, params={'lat': '45.796890', 'lon': '4.784140'}) - assert mocked_get.call_args[1]['params']['BBOX'] == '532556.896735,5747844.261214,532579.160633,5747876.194333' - assert mocked_get.call_args[1]['params']['CRS'] == 'EPSG:3857' + assert mocked_get.call_args[1]['params']['bbox'] == '532556.896735,5747844.261214,532579.160633,5747876.194333' + assert mocked_get.call_args[1]['params']['crs'] == 'EPSG:3857' assert (resp.json['data'] ['cad_cadastrecadparcelle_layer'] ['cad_cadastrecadparcelle_feature'] @@ -293,8 +293,8 @@ def test_feature_info(mocked_get, app, connector): connector.projection = 'EPSG:4326' connector.save() resp = app.get(endpoint, params={'lat': '45.796890', 'lon': '4.784140'}) - assert mocked_get.call_args[1]['params']['BBOX'] == '45.796790,4.784040,45.796990,4.784240' - assert mocked_get.call_args[1]['params']['CRS'] == 'EPSG:4326' + assert mocked_get.call_args[1]['params']['bbox'] == '45.796790,4.784040,45.796990,4.784240' + assert mocked_get.call_args[1]['params']['crs'] == 'EPSG:4326' @mock.patch('passerelle.utils.Request.get') @@ -317,13 +317,13 @@ def test_tile(mocked_get, app, connector): assert endpoint == '/opengis/test/tile' mocked_get.return_value = utils.FakedResponse(content=b'\x89PNG\r\n\x1a\n\x00\x00...', status_code=200) resp = app.get(endpoint + '/16/33650/23378.png') - assert mocked_get.call_args[1]['params']['CRS'] == 'EPSG:3857' - assert mocked_get.call_args[1]['params']['BBOX'] == '539339.671580,5741338.068556,539951.167806,5741949.564782' + assert mocked_get.call_args[1]['params']['crs'] == 'EPSG:3857' + assert mocked_get.call_args[1]['params']['bbox'] == '539339.671580,5741338.068556,539951.167806,5741949.564782' connector.projection = 'EPSG:4326' connector.save() resp = app.get(endpoint + '/16/33650/23378.png') - assert mocked_get.call_args[1]['params']['CRS'] == 'EPSG:4326' - assert mocked_get.call_args[1]['params']['BBOX'] == '45.756026,4.844971,45.759859,4.850464' + assert mocked_get.call_args[1]['params']['crs'] == 'EPSG:4326' + assert mocked_get.call_args[1]['params']['bbox'] == '45.756026,4.844971,45.759859,4.850464' assert resp.content == b'\x89PNG\r\n\x1a\n\x00\x00...' @@ -348,7 +348,7 @@ def test_get_feature(mocked_get, app, connector): resp = app.get(endpoint, params={'type_names': 'ref_metro_limites_communales', 'property_name': 'nom'}) assert mocked_get.call_args[1]['params']['request'] == 'GetFeature' assert mocked_get.call_args[1]['params']['propertyName'] == 'nom' - assert mocked_get.call_args[1]['params']['TYPENAMES'] == 'ref_metro_limites_communales' + assert mocked_get.call_args[1]['params']['typenames'] == 'ref_metro_limites_communales' assert 'json' in mocked_get.call_args[1]['params']['outputFormat'] assert mocked_get.call_args[1]['params']['service'] == 'WFS' assert mocked_get.call_args[1]['params']['version'] == connector.get_wfs_service_version() @@ -401,7 +401,7 @@ def test_get_feature_error(mocked_get, app, connector): }) assert mocked_get.call_args[1]['params']['request'] == 'GetFeature' assert mocked_get.call_args[1]['params']['propertyName'] == 'nom' - assert mocked_get.call_args[1]['params']['TYPENAMES'] == 'ref_metro_limites_communales' + assert mocked_get.call_args[1]['params']['typenames'] == 'ref_metro_limites_communales' assert 'json' in mocked_get.call_args[1]['params']['outputFormat'] assert mocked_get.call_args[1]['params']['service'] == 'WFS' assert mocked_get.call_args[1]['params']['version'] == connector.get_wfs_service_version() @@ -422,7 +422,7 @@ def test_get_feature_error2(mocked_get, app, connector): }) assert mocked_get.call_args[1]['params']['request'] == 'GetFeature' assert mocked_get.call_args[1]['params']['propertyName'] == 'nom' - assert mocked_get.call_args[1]['params']['TYPENAMES'] == 'ref_metro_limites_communales' + assert mocked_get.call_args[1]['params']['typenames'] == 'ref_metro_limites_communales' assert 'json' in mocked_get.call_args[1]['params']['outputFormat'] assert mocked_get.call_args[1]['params']['service'] == 'WFS' assert mocked_get.call_args[1]['params']['version'] == connector.get_wfs_service_version() @@ -433,8 +433,8 @@ def test_get_feature_error2(mocked_get, app, connector): @pytest.mark.parametrize("server_responses, version, typename_label", [ - (geoserver_responses_v1_0_0, '1.0.0', 'TYPENAME'), - (geoserver_responses, '2.0.0', 'TYPENAMES')]) + (geoserver_responses_v1_0_0, '1.0.0', 'typename'), + (geoserver_responses, '2.0.0', 'typenames')]) @mock.patch('passerelle.utils.Request.get') def test_typename_parameter_upgrade(mocked_get, server_responses, version, typename_label, app, connector): endpoint = utils.generic_endpoint_url('opengis', 'features', slug=connector.slug) -- 2.20.1