From 5acdd88e128c986742ef7de219e310fca496c4fd 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 | 8 ++++---- wcs/portfolio.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/form_pages/test_formdata.py b/tests/form_pages/test_formdata.py index 8b432e30..d956ba7a 100644 --- a/tests/form_pages/test_formdata.py +++ b/tests/form_pages/test_formdata.py @@ -758,13 +758,13 @@ 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" - ) + summary = pub.loggederror_class.select()[0].summary + assert summary.startswith("file 'template.pdf' failed to be pushed to portfolio of 'Foo") + assert 'bad user' in summary # 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