From 2ffbdaa1f659a39eedcafd6fccfa009d0226e36e Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 25 Oct 2019 10:47:01 +0200 Subject: [PATCH 02/11] misc: add long_description for POST endpoints (#35818) --- passerelle/templates/passerelle/manage/service_view.html | 5 +++++ passerelle/utils/api.py | 4 ++++ passerelle/views.py | 2 +- tests/test_teamnet_axel.py | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/passerelle/templates/passerelle/manage/service_view.html b/passerelle/templates/passerelle/manage/service_view.html index 82163dfb..70a8b9ad 100644 --- a/passerelle/templates/passerelle/manage/service_view.html +++ b/passerelle/templates/passerelle/manage/service_view.html @@ -76,6 +76,11 @@ {% endfor %} {% endif %} + {% if endpoint.long_description %} +
+ {{ endpoint.long_description }} +
+ {% endif %} {% endfor %} diff --git a/passerelle/utils/api.py b/passerelle/utils/api.py index a8160fcc..4bfd554f 100644 --- a/passerelle/utils/api.py +++ b/passerelle/utils/api.py @@ -120,6 +120,10 @@ class endpoint(object): def description(self): return self.descriptions.get(self.http_method) + @property + def long_description(self): + return self.http_method == 'post' and self.post and self.post.get('long_description') + def get_params(self): params = [] defaults = dict(zip( diff --git a/passerelle/views.py b/passerelle/views.py index fa0490a1..657693f4 100644 --- a/passerelle/views.py +++ b/passerelle/views.py @@ -337,7 +337,7 @@ class GenericEndpointView(GenericConnectorMixin, SingleObjectMixin, View): raise InvalidParameterValue(parameter) if request.method == 'POST' and self.endpoint.endpoint_info.post: - request_body = self.endpoint.endpoint_info.post.get('request_body') + request_body = self.endpoint.endpoint_info.post.get('request_body', {}) if 'application/json' in request_body.get('schema', {}): json_schema = request_body['schema']['application/json'] try: diff --git a/tests/test_teamnet_axel.py b/tests/test_teamnet_axel.py index d0cd75c7..30d1a734 100644 --- a/tests/test_teamnet_axel.py +++ b/tests/test_teamnet_axel.py @@ -303,6 +303,7 @@ def test_endpoint_invoices(app, setup): assert data[0]['IDFACTURE'] == '456' assert data[0]['total_amount'] == '101' assert data[0]['has_pdf'] is True + assert data[0]['created'] == '2019-02-02' def test_endpoint_invoices_history(app, setup): -- 2.23.0