solis: use optimized solis endpoint for street (lieu) search (#36483)
This commit is contained in:
parent
674154a356
commit
8a449839e0
|
@ -172,10 +172,18 @@ class Solis(BaseResource):
|
|||
'example_value': '9999'},
|
||||
})
|
||||
def referential(self, request, module, name, q=None, id=None, ignore=None, **kwargs):
|
||||
endpoint = 'referentiels/%s/%s' % (module, name)
|
||||
args = [(code, value) for code, value in kwargs.items() if code.startswith('code')]
|
||||
if args:
|
||||
endpoint += '?' + urlencode(args)
|
||||
|
||||
if (module == 'trans' and name == 'lieu' and 'codeDepartement' in kwargs
|
||||
and 'codeCommune' in kwargs and q):
|
||||
# use optimized endpoint for trans/lieu search
|
||||
endpoint = 'referentiels/trans/nomlieu/%s/%s/%s' % (kwargs.pop('codeDepartement'),
|
||||
kwargs.pop('codeCommune'), q)
|
||||
q = None
|
||||
else:
|
||||
endpoint = 'referentiels/%s/%s' % (module, name)
|
||||
args = [(code, value) for code, value in kwargs.items() if code.startswith('code')]
|
||||
if args:
|
||||
endpoint += '?' + urlencode(args)
|
||||
|
||||
content = self.request(endpoint)
|
||||
|
||||
|
|
|
@ -508,6 +508,16 @@ def test_solis_referentiels(app, solis):
|
|||
assert resp.json['err_desc'] == "error status:500 'boum', content:'crash'"
|
||||
assert resp.json['data'] == {'json_content': None, 'status_code': 500}
|
||||
|
||||
# optimized trans/lieu search
|
||||
requests_get.return_value = utils.FakedResponse(content='{"lieux":[]}', status_code=200)
|
||||
resp = app.get(url + '/trans/lieu/', status=200)
|
||||
assert requests_get.call_args[0][0].endswith('/solisapi/referentiels/trans/lieu')
|
||||
resp = app.get(url + '/trans/lieu/?codeDepartement=1&codeCommune=2&q=search', status=200)
|
||||
assert requests_get.call_args[0][0].endswith('/solisapi/referentiels/trans/nomlieu/1/2/search')
|
||||
resp = app.get(url + '/trans/lieu/?codeDepartement=1&codeCommune=2&codeLieu=3', status=200)
|
||||
assert 'referentiels/trans/lieu?' in requests_get.call_args[0][0]
|
||||
assert 'codeLieu=3' in requests_get.call_args[0][0]
|
||||
|
||||
|
||||
def test_solis_referential_item(app, solis):
|
||||
# full opened access
|
||||
|
|
Loading…
Reference in New Issue