summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/middleware/tests.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/middleware/tests.py b/tests/middleware/tests.py
index 328073b8ac..e9ec2b46c5 100644
--- a/tests/middleware/tests.py
+++ b/tests/middleware/tests.py
@@ -383,11 +383,20 @@ class BrokenLinkEmailsMiddlewareTest(SimpleTestCase):
self.req.META['HTTP_REFERER'] = self.req.path
BrokenLinkEmailsMiddleware().process_response(self.req, self.resp)
self.assertEqual(len(mail.outbox), 0)
+
# URL with scheme and domain should also be ignored
self.req.META['HTTP_REFERER'] = 'http://testserver%s' % self.req.path
BrokenLinkEmailsMiddleware().process_response(self.req, self.resp)
self.assertEqual(len(mail.outbox), 0)
+ # URL with a different scheme should be ignored as well because bots
+ # tend to use http:// in referers even when browsing HTTPS websites.
+ self.req.META['HTTP_X_PROTO'] = 'https'
+ self.req.META['SERVER_PORT'] = 443
+ with self.settings(SECURE_PROXY_SSL_HEADER=('HTTP_X_PROTO', 'https')):
+ BrokenLinkEmailsMiddleware().process_response(self.req, self.resp)
+ self.assertEqual(len(mail.outbox), 0)
+
def test_referer_equal_to_requested_url_on_another_domain(self):
self.req.META['HTTP_REFERER'] = 'http://anotherserver%s' % self.req.path
BrokenLinkEmailsMiddleware().process_response(self.req, self.resp)