Projet

Général

Profil

0001-portfolio-log-payload-on-error-56016.patch

Benjamin Dauvergne, 22 août 2021 16:48

Télécharger (2,53 ko)

Voir les différences:

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(-)
tests/form_pages/test_formdata.py
758 758

  
759 759
    resp = login(get_app(pub), username='foo', password='foo').get(form_location)
760 760
    with mock.patch('wcs.portfolio.http_post_request') as http_post_request:
761
        http_post_request.return_value = None, 400, 'null', None  # fail
761
        http_post_request.return_value = None, 400, '{"err_desc": "bad user"}', None  # fail
762 762
        resp = resp.form.submit('button_export_to')
763 763
        assert http_post_request.call_count == 1
764 764
        if pub.is_using_postgresql():
765
            assert pub.loggederror_class.select()[0].summary.startswith(
766
                "file 'template.pdf' failed to be pushed to portfolio of 'Foo"
767
            )
765
            summary = pub.loggederror_class.select()[0].summary
766
            assert summary.startswith("file 'template.pdf' failed to be pushed to portfolio of 'Foo")
767
            assert 'bad user' in summary
768 768

  
769 769
    # failed to push to portfolio, but document is here
770 770
    resp = resp.follow()  # $form/$id/create_doc
wcs/portfolio.py
77 77

  
78 78
    def afterjob(job):
79 79
        status = 0
80
        status = async_post()[0]
80
        status, payload = async_post()
81 81
        if status == 200:
82 82
            get_logger().info('file %r pushed to portfolio of %r', filename, user.display_name)
83 83
        else:
84 84
            publisher.record_error(
85
                _('file %(filename)r failed to be pushed to portfolio of %(display_name)r')
86
                % {'filename': filename, 'display_name': user.display_name}
85
                _('file %(filename)r failed to be pushed to portfolio of %(display_name)r with status %(status)s and payload %(payload)s')
86
                % {'filename': filename, 'display_name': user.display_name, 'status': status, 'payload': payload}
87 87
            )
88 88

  
89 89
    if get_response():
90
-