From 012cc33d44073ce2dc93a9b91368cbe6c5246014 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 24 Jul 2013 11:58:43 +0900 Subject: [PATCH] Rewrite `test_mixed_case_scheme_acceptable` to work with local httpbin 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 | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/test_requests.py b/test_requests.py index 0d2c20c9..7691d1a4 100755 --- a/test_requests.py +++ b/test_requests.py @@ -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'))