django/tests/servers/test_basehttp.py

28 lines
903 B
Python

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