mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Merged regressiontests and modeltests into the test root.
This commit is contained in:
parent
b3d2ccb5bf
commit
89f40e3624
1050 changed files with 0 additions and 0 deletions
0
tests/wsgi/__init__.py
Normal file
0
tests/wsgi/__init__.py
Normal file
0
tests/wsgi/models.py
Normal file
0
tests/wsgi/models.py
Normal file
99
tests/wsgi/tests.py
Normal file
99
tests/wsgi/tests.py
Normal file
|
@ -0,0 +1,99 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.core.servers.basehttp import get_internal_wsgi_application
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from django.utils import six, unittest
|
||||
|
||||
|
||||
class WSGITest(TestCase):
|
||||
urls = "regressiontests.wsgi.urls"
|
||||
|
||||
def test_get_wsgi_application(self):
|
||||
"""
|
||||
Verify that ``get_wsgi_application`` returns a functioning WSGI
|
||||
callable.
|
||||
|
||||
"""
|
||||
application = get_wsgi_application()
|
||||
|
||||
environ = RequestFactory()._base_environ(
|
||||
PATH_INFO="/",
|
||||
CONTENT_TYPE="text/html; charset=utf-8",
|
||||
REQUEST_METHOD="GET"
|
||||
)
|
||||
|
||||
response_data = {}
|
||||
|
||||
def start_response(status, headers):
|
||||
response_data["status"] = status
|
||||
response_data["headers"] = headers
|
||||
|
||||
response = application(environ, start_response)
|
||||
|
||||
self.assertEqual(response_data["status"], "200 OK")
|
||||
self.assertEqual(
|
||||
response_data["headers"],
|
||||
[('Content-Type', 'text/html; charset=utf-8')])
|
||||
self.assertEqual(
|
||||
bytes(response),
|
||||
b"Content-Type: text/html; charset=utf-8\r\n\r\nHello World!")
|
||||
|
||||
|
||||
class GetInternalWSGIApplicationTest(unittest.TestCase):
|
||||
@override_settings(WSGI_APPLICATION="regressiontests.wsgi.wsgi.application")
|
||||
def test_success(self):
|
||||
"""
|
||||
If ``WSGI_APPLICATION`` is a dotted path, the referenced object is
|
||||
returned.
|
||||
|
||||
"""
|
||||
app = get_internal_wsgi_application()
|
||||
|
||||
from .wsgi import application
|
||||
|
||||
self.assertTrue(app is application)
|
||||
|
||||
|
||||
@override_settings(WSGI_APPLICATION=None)
|
||||
def test_default(self):
|
||||
"""
|
||||
If ``WSGI_APPLICATION`` is ``None``, the return value of
|
||||
``get_wsgi_application`` is returned.
|
||||
|
||||
"""
|
||||
# Mock out get_wsgi_application so we know its return value is used
|
||||
fake_app = object()
|
||||
def mock_get_wsgi_app():
|
||||
return fake_app
|
||||
from django.core.servers import basehttp
|
||||
_orig_get_wsgi_app = basehttp.get_wsgi_application
|
||||
basehttp.get_wsgi_application = mock_get_wsgi_app
|
||||
|
||||
try:
|
||||
app = get_internal_wsgi_application()
|
||||
|
||||
self.assertTrue(app is fake_app)
|
||||
finally:
|
||||
basehttp.get_wsgi_application = _orig_get_wsgi_app
|
||||
|
||||
|
||||
@override_settings(WSGI_APPLICATION="regressiontests.wsgi.noexist.app")
|
||||
def test_bad_module(self):
|
||||
with six.assertRaisesRegex(self,
|
||||
ImproperlyConfigured,
|
||||
r"^WSGI application 'regressiontests.wsgi.noexist.app' could not be loaded; Error importing.*"):
|
||||
|
||||
get_internal_wsgi_application()
|
||||
|
||||
|
||||
@override_settings(WSGI_APPLICATION="regressiontests.wsgi.wsgi.noexist")
|
||||
def test_bad_name(self):
|
||||
with six.assertRaisesRegex(self,
|
||||
ImproperlyConfigured,
|
||||
r"^WSGI application 'regressiontests.wsgi.wsgi.noexist' could not be loaded; Module.*"):
|
||||
|
||||
get_internal_wsgi_application()
|
10
tests/wsgi/urls.py
Normal file
10
tests/wsgi/urls.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
from django.conf.urls import url, patterns
|
||||
from django.http import HttpResponse
|
||||
|
||||
def helloworld(request):
|
||||
return HttpResponse("Hello World!")
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url("^$", helloworld)
|
||||
)
|
2
tests/wsgi/wsgi.py
Normal file
2
tests/wsgi/wsgi.py
Normal file
|
@ -0,0 +1,2 @@
|
|||
# This is just to test finding, it doesn't have to be a real WSGI callable
|
||||
application = object()
|
Loading…
Add table
Add a link
Reference in a new issue