Added 'lettre_type' param to 'get_courrier()' endpoint

This commit is contained in:
Michael Bideau 2019-07-29 14:35:56 +02:00
parent d4080dae85
commit 4fc61d5f5e
2 changed files with 10 additions and 7 deletions

View File

@ -702,7 +702,8 @@ class AtrealOpenads(BaseResource, HTTPResource):
example_pattern='{type_dossier}/', example_pattern='{type_dossier}/',
parameters={ parameters={
'type_dossier' : {'description': _("Type of 'dossier'") , 'example_value': 'DIA'}, 'type_dossier' : {'description': _("Type of 'dossier'") , 'example_value': 'DIA'},
'numero_dossier': {'description': _("Identifier for 'dossier'"), 'example_value': 'DIA0130551900001'} 'numero_dossier': {'description': _("Identifier for 'dossier'"), 'example_value': 'DIA0130551900001'},
'lettre_type' : {'description': _("Courrier ID to get"), 'example_value': 'dia_renonciation_preempter'}
}, },
#~ get={ #~ get={
#~ 'description': _("Get a 'courrier' from an openADS 'dossier'"), #~ 'description': _("Get a 'courrier' from an openADS 'dossier'"),
@ -713,12 +714,12 @@ class AtrealOpenads(BaseResource, HTTPResource):
#~ } #~ }
#~ } #~ }
) )
def get_courrier(self, request, type_dossier, numero_dossier): def get_courrier(self, request, type_dossier, numero_dossier, lettre_type):
# make a request to openADS.API # make a request to openADS.API
url = urlparse.urljoin( url = urlparse.urljoin(
self.openADS_API_url, self.openADS_API_url,
'/dossier/%s/%s/courrier/%s' % (type_dossier, numero_dossier, 'dia_renonciation_preempter')) '/dossier/%s/%s/courrier/%s' % (type_dossier, numero_dossier, lettre_type))
response = self.requests.get(url) response = self.requests.get(url)
# response is an error # response is an error

View File

@ -607,6 +607,8 @@ def test_openads_get_fwd_files_status(app, atreal_openads):
def test_openads_get_courrier(app, atreal_openads): def test_openads_get_courrier(app, atreal_openads):
lettre_type = 'dia_renonciation_preempter'
fake_resp_bad = Response() fake_resp_bad = Response()
fake_resp_bad.status_code = 502 fake_resp_bad.status_code = 502
fake_resp_bad.reason = 'Bad gateway' fake_resp_bad.reason = 'Bad gateway'
@ -614,7 +616,7 @@ def test_openads_get_courrier(app, atreal_openads):
with pytest.raises(APIError) as e: with pytest.raises(APIError) as e:
with mock.patch('passerelle.utils.Request.get') as requests_get: with mock.patch('passerelle.utils.Request.get') as requests_get:
requests_get.return_value = fake_resp_bad requests_get.return_value = fake_resp_bad
atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER) atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER, lettre_type)
assert unicode(e.value) == "HTTP error: 502" assert unicode(e.value) == "HTTP error: 502"
fake_resp_json = { fake_resp_json = {
@ -632,7 +634,7 @@ def test_openads_get_courrier(app, atreal_openads):
fake_resp._content = json.dumps(fake_resp_json) fake_resp._content = json.dumps(fake_resp_json)
with mock.patch('passerelle.utils.Request.get') as requests_get: with mock.patch('passerelle.utils.Request.get') as requests_get:
requests_get.return_value = fake_resp requests_get.return_value = fake_resp
jresp = atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER) jresp = atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER, lettre_type)
assert jresp['courrier']['filename'] == fake_resp_json['files'][0]['filename'] assert jresp['courrier']['filename'] == fake_resp_json['files'][0]['filename']
assert jresp['courrier']['content_type'] == fake_resp_json['files'][0]['content_type'] assert jresp['courrier']['content_type'] == fake_resp_json['files'][0]['content_type']
assert jresp['courrier']['b64_content'] == fake_resp_json['files'][0]['b64_content'] assert jresp['courrier']['b64_content'] == fake_resp_json['files'][0]['b64_content']
@ -642,14 +644,14 @@ def test_openads_get_courrier(app, atreal_openads):
with pytest.raises(APIError) as e: with pytest.raises(APIError) as e:
with mock.patch('passerelle.utils.Request.get') as requests_get: with mock.patch('passerelle.utils.Request.get') as requests_get:
requests_get.return_value = fake_resp requests_get.return_value = fake_resp
atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER) atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER, lettre_type)
assert unicode(e.value) == u'Failed to decode courrier content from base 64' assert unicode(e.value) == u'Failed to decode courrier content from base 64'
fake_resp._content = 'df[{gfd;g#vfd' fake_resp._content = 'df[{gfd;g#vfd'
with pytest.raises(APIError) as e: with pytest.raises(APIError) as e:
with mock.patch('passerelle.utils.Request.get') as requests_get: with mock.patch('passerelle.utils.Request.get') as requests_get:
requests_get.return_value = fake_resp requests_get.return_value = fake_resp
atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER) atreal_openads.get_courrier(None, 'DIA', FAKE_NUMERO_DOSSIER, lettre_type)
assert unicode(e.value) == u'No JSON content returned: %r' % fake_resp._content assert unicode(e.value) == u'No JSON content returned: %r' % fake_resp._content