From 1868d7c2214723c0cb1b105c3c9b7afcba6b1342 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Tue, 9 Dec 2008 21:03:10 +0000 Subject: [PATCH] Add simple unittests for Request --- Lib/test/test_urllib2.py | 48 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index e28ee71a840..ff164c2058c 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1104,6 +1104,51 @@ class MiscTests(unittest.TestCase): else: self.assert_(False) +class RequestTests(unittest.TestCase): + + def setUp(self): + self.get = urllib2.Request("http://www.python.org/~jeremy/") + self.post = urllib2.Request("http://www.python.org/~jeremy/", + "data", + headers={"X-Test": "test"}) + + def test_method(self): + self.assertEqual("POST", self.post.get_method()) + self.assertEqual("GET", self.get.get_method()) + + def test_add_data(self): + self.assert_(not self.get.has_data()) + self.assertEqual("GET", self.get.get_method()) + self.get.add_data("spam") + self.assert_(self.get.has_data()) + self.assertEqual("POST", self.get.get_method()) + + def test_get_full_url(self): + self.assertEqual("http://www.python.org/~jeremy/", + self.get.get_full_url()) + + def test_selector(self): + self.assertEqual("/~jeremy/", self.get.get_selector()) + req = urllib2.Request("http://www.python.org/") + self.assertEqual("/", req.get_selector()) + + def test_get_type(self): + self.assertEqual("http", self.get.get_type()) + + def test_get_host(self): + self.assertEqual("www.python.org", self.get.get_host()) + + def test_get_host_unquote(self): + req = urllib2.Request("http://www.%70ython.org/") + self.assertEqual("www.python.org", req.get_host()) + + def test_proxy(self): + self.assert_(not self.get.has_proxy()) + self.get.set_proxy("www.perl.org", "http") + self.assert_(self.get.has_proxy()) + self.assertEqual("www.python.org", self.get.get_origin_req_host()) + self.assertEqual("www.perl.org", self.get.get_host()) + def test_main(verbose=None): from test import test_urllib2 @@ -1112,7 +1157,8 @@ def test_main(verbose=None): tests = (TrivialTests, OpenerDirectorTests, HandlerTests, - MiscTests) + MiscTests, + RequestTests) test_support.run_unittest(*tests) if __name__ == "__main__":