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 |
if pub.is_using_postgresql(): |
765 | 765 |
assert pub.loggederror_class.select()[0].summary.startswith( |
766 | 766 |
"file 'template.pdf' failed to be pushed to portfolio of 'Foo" |
767 | 767 |
) |
768 |
assert 'bad user' in caplog.records[-1].message |
|
768 | 769 | |
769 | 770 |
# failed to push to portfolio, but document is here |
770 | 771 |
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 |
- |