Skip to content

Commit 3f31cbb

Browse files
stsewdagjohnson
authored andcommitted
Inject user to middleware tests (#5203)
* Inject user to middleware tests We don't use the full middleware cycle, so we don't have a `request.user`. This fixes the tests failing in the corporate site * Use AnonymousUser
1 parent e89b740 commit 3f31cbb

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

readthedocs/rtd_tests/tests/test_middleware.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from corsheaders.middleware import CorsMiddleware
22
from django.conf import settings
3+
from django.contrib.auth.models import AnonymousUser
34
from django.http import Http404
45
from django.test import TestCase
56
from django.test.client import RequestFactory
@@ -32,6 +33,7 @@ def setUp(self):
3233
def test_failey_cname(self):
3334
self.assertFalse(Domain.objects.filter(domain='my.host.com').exists())
3435
request = self.factory.get(self.url, HTTP_HOST='my.host.com')
36+
request.user = AnonymousUser()
3537
r = self.middleware.process_request(request)
3638
self.assertEqual(r.status_code, 404)
3739
self.assertEqual(request.cname, True)
@@ -96,6 +98,7 @@ def test_domain_object(self):
9698
def test_domain_object_missing(self):
9799
self.domain = get(Domain, domain='docs.foobar2.com', project=self.pip)
98100
request = self.factory.get(self.url, HTTP_HOST='docs.foobar.com')
101+
request.user = AnonymousUser()
99102
r = self.middleware.process_request(request)
100103
self.assertEqual(r.status_code, 404)
101104

@@ -137,15 +140,19 @@ def test_use_subdomain(self):
137140
self.assertEqual(request.slug, 'pip')
138141
self.assertTrue(request.domain_object)
139142

143+
@override_settings(PRODUCTION_DOMAIN='readthedocs.org')
140144
def test_long_bad_subdomain(self):
141145
domain = 'www.pip.readthedocs.org'
142146
request = self.factory.get(self.url, HTTP_HOST=domain)
147+
request.user = AnonymousUser()
143148
res = self.middleware.process_request(request)
144149
self.assertEqual(res.status_code, 400)
145150

151+
@override_settings(PRODUCTION_DOMAIN='readthedocs.org')
146152
def test_long_subdomain(self):
147153
domain = 'some.long.readthedocs.org'
148154
request = self.factory.get(self.url, HTTP_HOST=domain)
155+
request.user = AnonymousUser()
149156
res = self.middleware.process_request(request)
150157
self.assertIsNone(res)
151158

0 commit comments

Comments
 (0)