Skip to content

Commit bcf6db1

Browse files
authored
Merge pull request readthedocs#5206 from stsewd/fake-auth-middleware
Fake auth middleware in tests
2 parents 99c31d6 + cac3375 commit bcf6db1

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

readthedocs/rtd_tests/tests/test_middleware.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from corsheaders.middleware import CorsMiddleware
22
from django.conf import settings
3-
from django.contrib.auth.models import AnonymousUser
3+
from django.contrib.auth.middleware import AuthenticationMiddleware
4+
from django.contrib.sessions.middleware import SessionMiddleware
45
from django.http import Http404
56
from django.test import TestCase
67
from django.test.client import RequestFactory
@@ -30,10 +31,14 @@ def setUp(self):
3031
privacy_level='public'
3132
)
3233

34+
def process_request_auth_middleware(self, request):
35+
SessionMiddleware().process_request(request)
36+
AuthenticationMiddleware().process_request(request)
37+
3338
def test_failey_cname(self):
3439
self.assertFalse(Domain.objects.filter(domain='my.host.com').exists())
3540
request = self.factory.get(self.url, HTTP_HOST='my.host.com')
36-
request.user = AnonymousUser()
41+
self.process_request_auth_middleware(request)
3742
r = self.middleware.process_request(request)
3843
self.assertEqual(r.status_code, 404)
3944
self.assertEqual(request.cname, True)
@@ -98,7 +103,7 @@ def test_domain_object(self):
98103
def test_domain_object_missing(self):
99104
self.domain = get(Domain, domain='docs.foobar2.com', project=self.pip)
100105
request = self.factory.get(self.url, HTTP_HOST='docs.foobar.com')
101-
request.user = AnonymousUser()
106+
self.process_request_auth_middleware(request)
102107
r = self.middleware.process_request(request)
103108
self.assertEqual(r.status_code, 404)
104109

@@ -144,15 +149,15 @@ def test_use_subdomain(self):
144149
def test_long_bad_subdomain(self):
145150
domain = 'www.pip.readthedocs.org'
146151
request = self.factory.get(self.url, HTTP_HOST=domain)
147-
request.user = AnonymousUser()
152+
self.process_request_auth_middleware(request)
148153
res = self.middleware.process_request(request)
149154
self.assertEqual(res.status_code, 400)
150155

151156
@override_settings(PRODUCTION_DOMAIN='readthedocs.org')
152157
def test_long_subdomain(self):
153158
domain = 'some.long.readthedocs.org'
154159
request = self.factory.get(self.url, HTTP_HOST=domain)
155-
request.user = AnonymousUser()
160+
self.process_request_auth_middleware(request)
156161
res = self.middleware.process_request(request)
157162
self.assertIsNone(res)
158163

0 commit comments

Comments
 (0)