test the cookies!
authorKenneth Reitz <me@kennethreitz.com>
Wed, 9 Nov 2011 23:02:53 +0000 (15:02 -0800)
committerKenneth Reitz <me@kennethreitz.com>
Wed, 9 Nov 2011 23:02:53 +0000 (15:02 -0800)
test_requests.py

index 266c20a2a5ebed082d4984dd9afe1e004c95e611..a3e64ec797c213b7bba81e07f1f831f79a29338b 100755 (executable)
@@ -59,7 +59,6 @@ class RequestsTestSuite(unittest.TestCase):
         # self.httpbin.kill()
 
     def test_entry_points(self):
-        import requests
 
         requests.session
         requests.session().get
@@ -482,6 +481,30 @@ class RequestsTestSuite(unittest.TestCase):
 
         self.assertEqual(r2.status_code, 200)
 
+    def test_session_persistent_cookies(self):
+
+        s = requests.session()
+
+        # Internally dispatched cookies are sent.
+        _c = {'kenneth': 'reitz', 'bessie': 'monke'}
+        r = s.get(httpbin('cookies'), cookies=_c)
+        r = s.get(httpbin('cookies'))
+
+        # Those cookies persist transparently.
+        c = json.loads(r.content).get('cookies')
+        assert c == _c
+
+        # Double check.
+        r = s.get(httpbin('cookies'), cookies={})
+        c = json.loads(r.content).get('cookies')
+        assert c == _c
+
+        # Remove a cookie by setting it's value to None.
+        r = s.get(httpbin('cookies'), cookies={'bessie': None})
+        c = json.loads(r.content).get('cookies')
+        del _c['bessie']
+        assert c == _c
+
 
     def test_session_persistent_params(self):