0001-portfolio-log-payload-on-error-56016.patch
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 |
- |