Projet

Général

Profil

0002-opengis-make-case_insensitive-parameter-explicit-413.patch

Valentin Deniaud, 06 avril 2020 18:12

Télécharger (2,23 ko)

Voir les différences:

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(-)
passerelle/apps/opengis/models.py
178 178
                      'description': _('Filter value'),
179 179
                      'example_value': 'rue du chateau'
180 180
                  },
181
                  'case-insensitive': {
181
                  'case_insensitive': {
182 182
                      'description': _('Enables case-insensitive search'),
183
                      'example_value': 'true'
184 183
                  }
185 184
              })
186 185
    def features(self, request, type_names, property_name, cql_filter=None,
187
                 filter_property_name=None, q=None, **kwargs):
186
                 filter_property_name=None, q=None, case_insensitive=False, **kwargs):
188 187
        if cql_filter:
189 188
            if filter_property_name and q:
190
                if 'case-insensitive' in kwargs:
189
                if 'case-insensitive' in kwargs or case_insensitive:
191 190
                    operator = 'ILIKE'
192 191
                else:
193 192
                    operator = 'LIKE'
tests/test_opengis.py
385 385
    params['case-insensitive'] = True
386 386
    app.get(endpoint, params=params)
387 387
    assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\''
388
    del params['case-insensitive']
389
    params['case_insensitive'] = True
390
    assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\''
388 391
    params.pop('cql_filter')
389 392
    app.get(endpoint, params=params)
390 393
    assert 'cql_filter' not in mocked_get.call_args[1]['params']
391
-