sne: fail silently on incorrectly formatted demand_id (#81452)

This commit is contained in:
Emmanuel Cazenave 2023-09-22 17:49:32 +02:00
parent c56c0676de
commit bf2610b4c5
2 changed files with 20 additions and 0 deletions

View File

@ -61,6 +61,8 @@ class SNE(BaseResource, HTTPResource):
},
)
def get_demande_logement(self, request, demand_id, **kwargs):
if len(demand_id) != 18:
return {'err_desc': 'demand_id must contains 18 characters'}
client = self.soap_client(wsdl_url=self.wsdl_url, api_error=True)
cert_type = client.get_type('{http://ws.metier.nuu.application.i2/}base64Binary')
cert = cert_type(_value_1=self.cert_public_bytes)

View File

@ -95,3 +95,21 @@ def test_get_demande_logement_does_not_exist(app, connector, settings):
json_resp['data']['soap_fault']['message']
== "La demande de logement n'existe pas dans le système."
)
def test_get_demande_logement_missing(app, connector, settings):
with responses.RequestsMock() as rsps:
resp = app.get('/sne/test/get-demande-logement?demand_id=')
json_resp = resp.json
assert json_resp['err'] == 0
assert json_resp['err_desc'] == 'demand_id must contains 18 characters'
assert len(rsps.calls) == 0
def test_get_demande_logement_bad_length(app, connector, settings):
with responses.RequestsMock() as rsps:
resp = app.get('/sne/test/get-demande-logement?demand_id=1234')
json_resp = resp.json
assert json_resp['err'] == 0
assert json_resp['err_desc'] == 'demand_id must contains 18 characters'
assert len(rsps.calls) == 0