aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Ganssle <paul@ganssle.io>2018-11-07 15:43:08 -0500
committerPaul Ganssle <paul@ganssle.io>2018-11-07 17:38:43 -0500
commit77b661a9599225721ac416cc342d56d1afb105a1 (patch)
tree569a649e98fdea27f76be177f31f22d77c877f64
parent7417740076af72f49705088009d0b21afea7dd98 (diff)
downloadexternal_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.py20
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)
+