diff options
| author | Maxime Lorant <maxime.lorant@gmail.com> | 2015-08-23 20:54:15 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-08-24 19:35:49 -0400 |
| commit | 4ce433e811763f29c32e0553fe1e0070fd14c6a2 (patch) | |
| tree | 21bf711c2c7f5fe80479dd7edb4e3c52bd1a142f /tests | |
| parent | d3fdaf907db6a5be4d0391532d7e65688c19e851 (diff) | |
Fixed #25302 -- Prevented BrokenLinkEmailsMiddleware from reporting 404s when Referer = URL.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/middleware/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/middleware/tests.py b/tests/middleware/tests.py index 21f45419c0..6e1bbaf772 100644 --- a/tests/middleware/tests.py +++ b/tests/middleware/tests.py @@ -375,6 +375,24 @@ class BrokenLinkEmailsMiddlewareTest(SimpleTestCase): SubclassedMiddleware().process_response(self.req, self.resp) self.assertEqual(len(mail.outbox), 1) + def test_referer_equal_to_requested_url(self): + """ + Some bots set the referer to the current URL to avoid being blocked by + an referer check (#25302). + """ + 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) + + 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) + self.assertEqual(len(mail.outbox), 1) + @override_settings(ROOT_URLCONF='middleware.cond_get_urls') class ConditionalGetMiddlewareTest(SimpleTestCase): |
