finally:
self.unfakehttp()
+ def test_http_error_attribute_values(self):
+ hdrs = {
+ "Authorization": "Bearer foobar",
+ "Accept": "application/json"
+ }
+ err = urllib.error.HTTPError("http://something", 404, "foo", hdrs, None)
+ self.assertEqual(err.filename, "http://something")
+ self.assertEqual(err.code, 404)
+ self.assertEqual(err.msg, "foo")
+ self.assertEqual(err.reason, "foo")
+ self.assertEqual(err.hdrs, hdrs)
+ self.assertEqual(err.headers, hdrs)
+ err.close()
+
+ def test_http_error_default_fp(self):
+ err = urllib.error.HTTPError("http://something", 404, "foo", {}, None)
+ self.assertIsInstance(err.fp, io.BytesIO)
+ err.close()
+
def test_empty_socket(self):
# urlopen() raises OSError if the underlying socket does not send any
# data. (#1680230)
self.assertFalse(e.exception.filename)
self.assertTrue(e.exception.reason)
+ def test_url_error_stringified(self):
+ reason = 'sixseven'
+ err = urllib.error.URLError(reason)
+ self.assertEqual(str(err), f'<urlopen error {reason}>')
+
class urlopen_DataTests(unittest.TestCase):
"""Test urlopen() opening a data URL."""