@@ -1488,48 +1488,72 @@ def open_spam(self, url):
1488
1488
class RequestTests (unittest .TestCase ):
1489
1489
"""Unit tests for urllib.request.Request."""
1490
1490
1491
- """def setUp(self):
1492
- self.Request = urllib.request.Request"""
1491
+ def setUp (self ):
1492
+ self .Request = urllib .request .Request
1493
+
1494
+ self .headers = {
1495
+ 'User-agent' : ('Mozilla/5.0 (X11; Linux i686; rv:10.0) '
1496
+ 'Gecko/20100101 Firefox/10.0' )
1497
+ }
1493
1498
1494
1499
def test_default_values (self ):
1495
- Request = urllib .request .Request
1496
- request = Request ("http://www.python.org" )
1500
+ request = self .Request ("http://www.python.org" )
1497
1501
self .assertEqual (request .get_method (), 'GET' )
1498
- request = Request ("http://www.python.org" , {})
1502
+ request = self . Request ("http://www.python.org" , {})
1499
1503
self .assertEqual (request .get_method (), 'POST' )
1500
1504
1501
1505
def test_with_method_arg (self ):
1502
- Request = urllib .request .Request
1503
- request = Request ("http://www.python.org" , method = 'HEAD' )
1506
+ request = self .Request ("http://www.python.org" , method = 'HEAD' )
1504
1507
self .assertEqual (request .method , 'HEAD' )
1505
1508
self .assertEqual (request .get_method (), 'HEAD' )
1506
- request = Request ("http://www.python.org" , {}, method = 'HEAD' )
1509
+ request = self . Request ("http://www.python.org" , {}, method = 'HEAD' )
1507
1510
self .assertEqual (request .method , 'HEAD' )
1508
1511
self .assertEqual (request .get_method (), 'HEAD' )
1509
- request = Request ("http://www.python.org" , method = 'GET' )
1512
+ request = self . Request ("http://www.python.org" , method = 'GET' )
1510
1513
self .assertEqual (request .get_method (), 'GET' )
1511
1514
request .method = 'HEAD'
1512
1515
self .assertEqual (request .get_method (), 'HEAD' )
1513
- """headers = {
1514
- 'User-agent': ('Mozilla/5.0 (X11; Linux i686; rv:10.0) '
1515
- 'Gecko/20100101 Firefox/10.0')
1516
- }
1517
- request = Request("http://www.python.org", headers=headers)
1516
+
1517
+ def test_request_with_headers (self ):
1518
+ """Verify headers if passed as a constructor argument."""
1519
+ request = self .Request ("http://www.python.org" , headers = self .headers )
1520
+ self .assertDictEqual (request .headers , self .headers )
1521
+
1522
+ def test_request_add_header (self ):
1523
+ """Verify headers if added through `Request.add_header()` method."""
1524
+ request = self .Request ("http://www.python.org" )
1525
+ request .add_header ('User-agent' , self .headers ['User-agent' ])
1526
+ self .assertDictEqual (request .headers , self .headers )
1527
+
1528
+ def test_request_has_header_returns (self ):
1529
+ """Verify presence of headers is marked."""
1530
+ request = self .Request ("http://www.python.org" , headers = self .headers )
1518
1531
self .assertTrue (request .has_header ('User-agent' ))
1519
- self.assertEqual(
1520
- request.get_header('User-agent'),
1521
- headers['User-agent']
1522
- )
1523
1532
self .assertFalse (request .has_header ('Content-type' ))
1524
- self.assertEqual(request.get_header('Content-type'), None)
1525
-
1526
- request.add_header('Content-type', 'text/html; charset=utf-8')
1527
1533
1528
- self.assertTrue(request.has_header('Content-type'))
1534
+ def test_request_get_header (self ):
1535
+ """Verify headers returned correctly."""
1536
+ request = self .Request ("http://www.python.org" , headers = self .headers )
1529
1537
self .assertEqual (
1530
1538
request .get_header ('User-agent' ),
1531
- headers['User-agent']
1532
- )"""
1539
+ self .headers ['User-agent' ]
1540
+ )
1541
+ self .assertIsNone (request .get_header ('Content-type' ))
1542
+
1543
+ def test_request_header_items (self ):
1544
+ """Verify headers itemed correctly."""
1545
+ request = self .Request ("http://www.python.org" , headers = self .headers )
1546
+ self .assertListEqual (
1547
+ request .header_items (),
1548
+ list (self .headers .items ())
1549
+ )
1550
+
1551
+ def test_request_header_remove (self ):
1552
+ """Verify headers are removed correctly."""
1553
+ request = self .Request ("http://www.python.org" , headers = self .headers )
1554
+ self .assertDictEqual (request .headers , self .headers )
1555
+ request .remove_header ('User-agent' ),
1556
+ self .assertDictEqual (request .headers , {})
1533
1557
1534
1558
1535
1559
class URL2PathNameTests (unittest .TestCase ):
0 commit comments