From 4fc61d5f5eab3e62b84c143aabf40946bf0ec610 Mon Sep 17 00:00:00 2001 From: Michael Bideau Date: Mon, 29 Jul 2019 14:35:56 +0200 Subject: [PATCH] Added 'lettre_type' param to 'get_courrier()' endpoint --- atreal_openads/models.py | 7 ++++--- tests/test_atreal_openads.py | 10 ++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/atreal_openads/models.py b/atreal_openads/models.py index 46c462c..bf08c55 100644 --- a/atreal_openads/models.py +++ b/atreal_openads/models.py @@ -702,7 +702,8 @@ class AtrealOpenads(BaseResource, HTTPResource): example_pattern='{type_dossier}/', parameters={ '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={ #~ '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 url = urlparse.urljoin( 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 is an error diff --git a/tests/test_atreal_openads.py b/tests/test_atreal_openads.py index 220fa73..80e2252 100644 --- a/tests/test_atreal_openads.py +++ b/tests/test_atreal_openads.py @@ -607,6 +607,8 @@ def test_openads_get_fwd_files_status(app, atreal_openads): def test_openads_get_courrier(app, atreal_openads): + lettre_type = 'dia_renonciation_preempter' + fake_resp_bad = Response() fake_resp_bad.status_code = 502 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 mock.patch('passerelle.utils.Request.get') as requests_get: 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" fake_resp_json = { @@ -632,7 +634,7 @@ def test_openads_get_courrier(app, atreal_openads): fake_resp._content = json.dumps(fake_resp_json) with mock.patch('passerelle.utils.Request.get') as requests_get: 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']['content_type'] == fake_resp_json['files'][0]['content_type'] 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 mock.patch('passerelle.utils.Request.get') as requests_get: 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' fake_resp._content = 'df[{gfd;g#vfd' with pytest.raises(APIError) as e: with mock.patch('passerelle.utils.Request.get') as requests_get: 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