use reverse
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
from testfixtures import LogCapture
|
||||
@@ -20,14 +21,16 @@ class TestLoginHelper(TestCase):
|
||||
|
||||
def test_unsafe_next(self):
|
||||
""" Test unsafe next parameter """
|
||||
unsafe_url = "https://www.amazon.com"
|
||||
with LogCapture(LOGGER_NAME, level=logging.ERROR) as logger:
|
||||
req = self.request.get("http://testserver/login?next=http://amazon.com")
|
||||
req = self.request.get(reverse("login") + "?next={url}".format(url=unsafe_url))
|
||||
get_next_url_for_login_page(req)
|
||||
logger.check(
|
||||
(LOGGER_NAME, "ERROR", u"Unsafe redirect parameter detected: u'http://amazon.com'"))
|
||||
(LOGGER_NAME, "ERROR", u"Unsafe redirect parameter detected: u'{url}'".format(url=unsafe_url))
|
||||
)
|
||||
|
||||
def test_safe_next(self):
|
||||
""" Test safe next parameter """
|
||||
req = self.request.get("http://testserver/login?next=/dashboard")
|
||||
req = self.request.get(reverse("login") + "?next={url}".format(url="/dashboard"))
|
||||
next_page = get_next_url_for_login_page(req)
|
||||
self.assertEqual(next_page, u'/dashboard')
|
||||
|
||||
Reference in New Issue
Block a user