diff options
author | Paul Ganssle <paul@ganssle.io> | 2018-11-07 15:43:08 -0500 |
---|---|---|
committer | Paul Ganssle <paul@ganssle.io> | 2018-11-07 17:38:43 -0500 |
commit | 77b661a9599225721ac416cc342d56d1afb105a1 (patch) | |
tree | 569a649e98fdea27f76be177f31f22d77c877f64 | |
parent | 7417740076af72f49705088009d0b21afea7dd98 (diff) | |
download | external_python_setuptools-77b661a9599225721ac416cc342d56d1afb105a1.tar.gz external_python_setuptools-77b661a9599225721ac416cc342d56d1afb105a1.tar.bz2 external_python_setuptools-77b661a9599225721ac416cc342d56d1afb105a1.zip |
Add test for HTTPError in upload_file
-rw-r--r-- | setuptools/tests/test_upload.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/setuptools/tests/test_upload.py b/setuptools/tests/test_upload.py index 6f497f08..129159a7 100644 --- a/setuptools/tests/test_upload.py +++ b/setuptools/tests/test_upload.py @@ -3,6 +3,7 @@ import os import re from distutils import log +from distutils.errors import DistutilsError from distutils.version import StrictVersion import pytest @@ -146,3 +147,22 @@ class TestUploadTest: with pytest.raises(AssertionError): cmd.run() + def test_upload_file_http_error(self, patched_upload): + patched_upload.urlopen.side_effect = six.moves.urllib.error.HTTPError( + 'https://example.com', + 404, + 'File not found', + None, + None + ) + + cmd = patched_upload.cmd + cmd.ensure_finalized() + + with pytest.raises(DistutilsError): + cmd.run() + + cmd.announce.assert_any_call( + 'Upload failed (404): File not found', + log.ERROR) + |