From 2438bb3884201ec61f550d5683b7e11ecbb5b835 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 6 Aug 2021 10:21:25 +0200 Subject: [PATCH] portfolio: log payload on error (#56016) --- tests/form_pages/test_formdata.py | 3 ++- wcs/portfolio.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/form_pages/test_formdata.py b/tests/form_pages/test_formdata.py index 8b432e30..a206e034 100644 --- a/tests/form_pages/test_formdata.py +++ b/tests/form_pages/test_formdata.py @@ -758,13 +758,14 @@ def test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio( resp = login(get_app(pub), username='foo', password='foo').get(form_location) with mock.patch('wcs.portfolio.http_post_request') as http_post_request: - http_post_request.return_value = None, 400, 'null', None # fail + http_post_request.return_value = None, 400, '{"err_desc": "bad user"}', None # fail resp = resp.form.submit('button_export_to') assert http_post_request.call_count == 1 if pub.is_using_postgresql(): assert pub.loggederror_class.select()[0].summary.startswith( "file 'template.pdf' failed to be pushed to portfolio of 'Foo" ) + assert 'bad user' in caplog.records[-1].message # failed to push to portfolio, but document is here resp = resp.follow() # $form/$id/create_doc diff --git a/wcs/portfolio.py b/wcs/portfolio.py index a7281d24..94618f8f 100644 --- a/wcs/portfolio.py +++ b/wcs/portfolio.py @@ -77,13 +77,13 @@ def push_document(user, filename, stream): def afterjob(job): status = 0 - status = async_post()[0] + status, payload = async_post() if status == 200: get_logger().info('file %r pushed to portfolio of %r', filename, user.display_name) else: publisher.record_error( - _('file %(filename)r failed to be pushed to portfolio of %(display_name)r') - % {'filename': filename, 'display_name': user.display_name} + _('file %(filename)r failed to be pushed to portfolio of %(display_name)r with status %(status)s and payload %(payload)s') + % {'filename': filename, 'display_name': user.display_name, 'status': status, 'payload': payload} ) if get_response(): -- 2.32.0.rc0