From e0f1f12f7656da102d4a7dce46e32d0b4c3185ea Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Mon, 6 Apr 2020 17:53:53 +0200 Subject: [PATCH 2/2] opengis: make case_insensitive parameter explicit (#41386) --- passerelle/apps/opengis/models.py | 7 +++---- tests/test_opengis.py | 3 +++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/passerelle/apps/opengis/models.py b/passerelle/apps/opengis/models.py index 42350e8b..2d12b128 100644 --- a/passerelle/apps/opengis/models.py +++ b/passerelle/apps/opengis/models.py @@ -178,16 +178,15 @@ class OpenGIS(BaseResource): 'description': _('Filter value'), 'example_value': 'rue du chateau' }, - 'case-insensitive': { + 'case_insensitive': { 'description': _('Enables case-insensitive search'), - 'example_value': 'true' } }) def features(self, request, type_names, property_name, cql_filter=None, - filter_property_name=None, q=None, **kwargs): + filter_property_name=None, q=None, case_insensitive=False, **kwargs): if cql_filter: if filter_property_name and q: - if 'case-insensitive' in kwargs: + if 'case-insensitive' in kwargs or case_insensitive: operator = 'ILIKE' else: operator = 'LIKE' diff --git a/tests/test_opengis.py b/tests/test_opengis.py index af5d9480..997d020c 100644 --- a/tests/test_opengis.py +++ b/tests/test_opengis.py @@ -385,6 +385,9 @@ def test_get_filtered_by_property_feature(mocked_get, app, connector): params['case-insensitive'] = True app.get(endpoint, params=params) assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\'' + del params['case-insensitive'] + params['case_insensitive'] = True + assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\'' params.pop('cql_filter') app.get(endpoint, params=params) assert 'cql_filter' not in mocked_get.call_args[1]['params'] -- 2.20.1