Add Request.copy() test case.
authorRobert Estelle <robert@btbapp.com>
Wed, 31 Jul 2013 06:01:56 +0000 (23:01 -0700)
committerRobert Estelle <robert@btbapp.com>
Wed, 31 Jul 2013 06:01:56 +0000 (23:01 -0700)
test_requests.py

index 27d5e67..ee08834 100755 (executable)
@@ -458,6 +458,37 @@ class RequestsTestCase(unittest.TestCase):
 
         self.assertTrue(hasattr(resp, 'hook_working'))
 
+    def test_request_copy(self):
+        a = requests.Request('POST', httpbin('post'),
+                headers={'oh': 'gee'},
+                files={'some': 'thing'},
+                data={'baz':'qux'},
+                params={'foo': 'bar'},
+                auth=object(),
+                cookies={'Some-Cookie':'Some Value'},
+                hooks={'response': lambda r: r })
+        b = a.copy()
+
+        self.assertNotEqual(a, b)
+        self.assertEqual(a.method, b.method)
+        self.assertEqual(a.url, b.url)
+        self.assertEqual(a.headers, b.headers)
+        self.assertEqual(a.files, b.files)
+        self.assertEqual(a.data, b.data)
+        self.assertEqual(a.params, b.params)
+        self.assertEqual(a.auth, b.auth)
+        self.assertEqual(a.cookies, b.cookies)
+        self.assertEqual(a.hooks, b.hooks)
+
+        a.headers['Foo'] = 'Bar'
+        self.assertNotEqual(a.headers, b.headers)
+
+        a.data['x'] = 'y'
+        self.assertNotEqual(a.data, b.data)
+
+        a.params['_'] = '?'
+        self.assertNotEqual(a.params, b.params)
+
     def test_links(self):
         r = requests.Response()
         r.headers = {