# Make sure object returned by urlopen() has the specified methods
for attr in ("read", "readline", "readlines", "fileno",
"close", "info", "geturl", "getcode", "__iter__"):
- self.assertTrue(hasattr(self.returned_obj, attr),
- "object returned by urlopen() lacks %s attribute" %
- attr)
+ self.assertHasAttr(self.returned_obj, attr)
def test_read(self):
self.assertEqual(self.text, self.returned_obj.read())
# Make sure object returned by urlopen() has the specified methods
for attr in ("read", "readline", "readlines",
"close", "info", "geturl", "getcode", "__iter__"):
- self.assertTrue(hasattr(self.text_url_resp, attr),
- "object returned by urlopen() lacks %s attribute" %
- attr)
+ self.assertHasAttr(self.text_url_resp, attr)
def test_info(self):
self.assertIsInstance(self.text_url_resp.info(), email.message.Message)
r = MockResponse(200, "OK", {}, "", url)
newr = h.http_response(req, r)
self.assertIs(r, newr)
- self.assertFalse(hasattr(o, "proto")) # o.error not called
+ self.assertNotHasAttr(o, "proto") # o.error not called
r = MockResponse(202, "Accepted", {}, "", url)
newr = h.http_response(req, r)
self.assertIs(r, newr)
- self.assertFalse(hasattr(o, "proto")) # o.error not called
+ self.assertNotHasAttr(o, "proto") # o.error not called
r = MockResponse(206, "Partial content", {}, "", url)
newr = h.http_response(req, r)
self.assertIs(r, newr)
- self.assertFalse(hasattr(o, "proto")) # o.error not called
+ self.assertNotHasAttr(o, "proto") # o.error not called
# anything else calls o.error (and MockOpener returns None, here)
r = MockResponse(502, "Bad gateway", {}, "", url)
self.assertIsNone(h.http_response(req, r))
response = opener.open('http://example.com/')
expected = b'GET ' + result + b' '
request = handler.last_buf
- self.assertTrue(request.startswith(expected), repr(request))
+ self.assertStartsWith(request, expected)
def test_redirect_head_request(self):
from_url = "http://example.com/a.html"
url = code = fp = None
hdrs = 'Content-Length: 42'
err = urllib.error.HTTPError(url, code, msg, hdrs, fp)
- self.assertTrue(hasattr(err, 'reason'))
+ self.assertHasAttr(err, 'reason')
self.assertEqual(err.reason, 'something bad happened')
- self.assertTrue(hasattr(err, 'headers'))
+ self.assertHasAttr(err, 'headers')
self.assertEqual(err.headers, 'Content-Length: 42')
expected_errmsg = 'HTTP Error %s: %s' % (err.code, err.msg)
self.assertEqual(str(err), expected_errmsg)
handler = self.start_server()
with urllib.request.urlopen("http://localhost:%s" % handler.port) as open_url:
for attr in ("read", "close", "info", "geturl"):
- self.assertTrue(hasattr(open_url, attr), "object returned from "
- "urlopen lacks the %s attribute" % attr)
+ self.assertHasAttr(open_url, attr)
self.assertTrue(open_url.read(), "calling 'read' failed")
def test_info(self):
with self.urlopen(self.url) as open_url:
for attr in ("read", "readline", "readlines", "fileno", "close",
"info", "geturl"):
- self.assertTrue(hasattr(open_url, attr), "object returned from "
- "urlopen lacks the %s attribute" % attr)
+ self.assertHasAttr(open_url, attr)
self.assertTrue(open_url.read(), "calling 'read' failed")
def test_readlines(self):
with self.subTest(url=url, function=func):
result = func(url, allow_fragments=False)
self.assertEqual(result.fragment, "")
- self.assertTrue(
- getattr(result, attr).endswith("#" + expected_frag))
+ self.assertEndsWith(getattr(result, attr),
+ "#" + expected_frag)
self.assertEqual(func(url, "", False).fragment, "")
result = func(url, allow_fragments=True)
self.assertEqual(result.fragment, expected_frag)
- self.assertFalse(
- getattr(result, attr).endswith(expected_frag))
+ self.assertNotEndsWith(getattr(result, attr), expected_frag)
self.assertEqual(func(url, "", True).fragment,
expected_frag)
self.assertEqual(func(url).fragment, expected_frag)