Rewrite `test_mixed_case_scheme_acceptable` to work with local httpbin
authorDavid Pursehouse <david.pursehouse@gmail.com>
Wed, 24 Jul 2013 02:58:43 +0000 (11:58 +0900)
committerDavid Pursehouse <david.pursehouse@gmail.com>
Wed, 24 Jul 2013 07:36:10 +0000 (16:36 +0900)
Instead of using hard-coded urls to httpbin.org, use the url defined
in `HTTPBIN_URL` replacing the scheme as necessary to test the mixed
cases.

Refs #1485

test_requests.py

index 0d2c20c9508a9631e3dfe96522e54ff621ffa5db..7691d1a4fab8bf956525c0d621685e681b1338e2 100755 (executable)
@@ -12,7 +12,7 @@ import pickle
 import requests
 from requests.auth import HTTPDigestAuth
 from requests.adapters import HTTPAdapter
-from requests.compat import str, cookielib, getproxies, urljoin
+from requests.compat import str, cookielib, getproxies, urljoin, urlparse
 from requests.cookies import cookiejar_from_dict
 from requests.exceptions import InvalidURL, MissingSchema
 from requests.structures import CaseInsensitiveDict
@@ -92,30 +92,15 @@ class RequestsTestCase(unittest.TestCase):
     def test_mixed_case_scheme_acceptable(self):
         s = requests.Session()
         s.proxies = getproxies()
-        r = requests.Request('GET', 'http://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'HTTP://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'hTTp://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'HttP://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'https://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'HTTPS://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'hTTps://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
-        r = requests.Request('GET', 'HttPs://httpbin.org/get')
-        r = s.send(r.prepare())
-        self.assertEqual(r.status_code,200)
+        parts = urlparse(httpbin('get'))
+        schemes = ['http://', 'HTTP://', 'hTTp://', 'HttP://',
+                   'https://', 'HTTPS://', 'hTTps://', 'HttPs://']
+        for scheme in schemes:
+            url = scheme + parts.netloc + parts.path
+            r = requests.Request('GET', url)
+            r = s.send(r.prepare())
+            self.assertEqual(r.status_code, 200,
+                             "failed for scheme %s" % scheme)
 
     def test_HTTP_200_OK_GET_ALTERNATIVE(self):
         r = requests.Request('GET', httpbin('get'))