Skip to content

Commit b10c8b8

Browse files
committed
Use request factory mixin
Some parts of the code still depend of some minimal middlewares.
1 parent af4ef4f commit b10c8b8

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed
+10-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
# Copied from test_middleware.py
22

33
from django.test import TestCase
4-
from django.test.client import RequestFactory
54
from django.test.utils import override_settings
65
from django_dynamic_fixture import get
76

87
from readthedocs.projects.models import Domain, Project
98
from readthedocs.proxito.middleware import ProxitoMiddleware
9+
from readthedocs.rtd_tests.base import RequestFactoryTestMixin
1010
from readthedocs.rtd_tests.utils import create_user
1111

1212

1313
@override_settings(USE_SUBDOMAIN=True)
1414
@override_settings(PUBLIC_DOMAIN='dev.readthedocs.io')
15-
class MiddlewareTests(TestCase):
15+
class MiddlewareTests(RequestFactoryTestMixin, TestCase):
1616

1717
def setUp(self):
18-
self.factory = RequestFactory()
1918
self.middleware = ProxitoMiddleware()
2019
self.url = '/'
2120
self.owner = create_user(username='owner', password='test')
@@ -32,51 +31,51 @@ def run_middleware(self, request):
3231
def test_proper_cname(self):
3332
domain = 'docs.random.com'
3433
get(Domain, project=self.pip, domain=domain)
35-
request = self.factory.get(self.url, HTTP_HOST=domain)
34+
request = self.request(self.url, HTTP_HOST=domain)
3635
res = self.run_middleware(request)
3736
self.assertIsNone(res)
3837
self.assertEqual(request.cname, True)
3938
self.assertEqual(request.host_project_slug, 'pip')
4039

4140
def test_proper_cname_uppercase(self):
4241
get(Domain, project=self.pip, domain='docs.random.com')
43-
request = self.factory.get(self.url, HTTP_HOST='docs.RANDOM.COM')
42+
request = self.request(self.url, HTTP_HOST='docs.RANDOM.COM')
4443
self.run_middleware(request)
4544
self.assertEqual(request.cname, True)
4645
self.assertEqual(request.host_project_slug, 'pip')
4746

4847
def test_invalid_cname(self):
4948
self.assertFalse(Domain.objects.filter(domain='my.host.com').exists())
50-
request = self.factory.get(self.url, HTTP_HOST='my.host.com')
49+
request = self.request(self.url, HTTP_HOST='my.host.com')
5150
r = self.run_middleware(request)
5251
# We show the 404 error page
5352
self.assertContains(r, 'my.host.com', status_code=404)
5453

5554
def test_proper_subdomain(self):
56-
request = self.factory.get(self.url, HTTP_HOST='pip.dev.readthedocs.io')
55+
request = self.request(self.url, HTTP_HOST='pip.dev.readthedocs.io')
5756
self.run_middleware(request)
5857
self.assertEqual(request.subdomain, True)
5958
self.assertEqual(request.host_project_slug, 'pip')
6059

6160
@override_settings(PUBLIC_DOMAIN='foo.bar.readthedocs.io')
6261
def test_subdomain_different_length(self):
63-
request = self.factory.get(
62+
request = self.request(
6463
self.url, HTTP_HOST='pip.foo.bar.readthedocs.io'
6564
)
6665
self.run_middleware(request)
6766
self.assertEqual(request.subdomain, True)
6867
self.assertEqual(request.host_project_slug, 'pip')
6968

7069
def test_request_header(self):
71-
request = self.factory.get(
70+
request = self.request(
7271
self.url, HTTP_HOST='some.random.com', HTTP_X_RTD_SLUG='pip'
7372
)
7473
self.run_middleware(request)
7574
self.assertEqual(request.rtdheader, True)
7675
self.assertEqual(request.host_project_slug, 'pip')
7776

7877
def test_request_header_uppercase(self):
79-
request = self.factory.get(
78+
request = self.request(
8079
self.url, HTTP_HOST='some.random.com', HTTP_X_RTD_SLUG='PIP'
8180
)
8281
self.run_middleware(request)
@@ -86,6 +85,6 @@ def test_request_header_uppercase(self):
8685

8786
def test_long_bad_subdomain(self):
8887
domain = 'www.pip.dev.readthedocs.io'
89-
request = self.factory.get(self.url, HTTP_HOST=domain)
88+
request = self.request(self.url, HTTP_HOST=domain)
9089
res = self.run_middleware(request)
9190
self.assertEqual(res.status_code, 400)

0 commit comments

Comments
 (0)