summaryrefslogtreecommitdiff
path: root/tests/servers/test_basehttp.py
diff options
context:
space:
mode:
authorFlavio Curella <flavio.curella@gmail.com>2014-09-05 13:27:26 -0700
committerTim Graham <timograham@gmail.com>2014-09-09 12:29:30 -0400
commitc53f2451a83fc081c1886d07c390cf0447b1143f (patch)
treeb76c4dddd749312a354bd41878e73466229cd8cc /tests/servers/test_basehttp.py
parentc32bc1a7a7bbb3d5bd0a2c11bc77dd5ab1c32fbc (diff)
Fixed #23398 -- Added helpful error message when runserver is accessed via HTTPS
Diffstat (limited to 'tests/servers/test_basehttp.py')
-rw-r--r--tests/servers/test_basehttp.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/servers/test_basehttp.py b/tests/servers/test_basehttp.py
new file mode 100644
index 0000000000..8ee99d4eaa
--- /dev/null
+++ b/tests/servers/test_basehttp.py
@@ -0,0 +1,27 @@
+import sys
+
+from django.core.handlers.wsgi import WSGIRequest
+from django.core.servers.basehttp import WSGIRequestHandler
+from django.test import TestCase
+from django.test.client import RequestFactory
+from django.utils.six import BytesIO, StringIO
+
+
+class WSGIRequestHandlerTestCase(TestCase):
+ def test_https(self):
+ request = WSGIRequest(RequestFactory().get('/').environ)
+ request.makefile = lambda *args, **kwargs: BytesIO()
+
+ handler = WSGIRequestHandler(request, '192.168.0.2', None)
+
+ _stderr = sys.stderr
+ sys.stderr = StringIO()
+ try:
+ handler.log_message("GET %s %s", str('\x16\x03'), "4")
+ self.assertIn(
+ "You're accessing the developement server over HTTPS, "
+ "but it only supports HTTP.",
+ sys.stderr.getvalue()
+ )
+ finally:
+ sys.stderr = _stderr