Projet

Général

Profil

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

Benjamin Dauvergne, 06 août 2021 10:51

Télécharger (2,25 ko)

Voir les différences:

Subject: [PATCH] portfolio: log payload on error (#56016)

 tests/form_pages/test_formdata.py |  3 ++-
 wcs/portfolio.py                  | 10 ++++++++--
 2 files changed, 10 insertions(+), 3 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
        assert caplog.records[-1].message.startswith(
765 765
            "file 'template.pdf' failed to be pushed to portfolio of 'Foo"
766 766
        )
767
        assert 'bad user' in caplog.records[-1].message
767 768

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

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

  
85 91
    if get_response():
86 92
        get_response().add_after_job(
87
-