opengis: stop using uppercase parameters (#41224)

This commit is contained in:
Valentin Deniaud 2020-04-01 16:04:40 +02:00
parent d47ed7717c
commit 90d407b0c0
2 changed files with 37 additions and 37 deletions

View File

@ -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,

View File

@ -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)