Commit 7368c342 by Ahsan Ulhaq

use reverse

parent c49f84fa
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
import logging import logging
from django.core.urlresolvers import reverse
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from testfixtures import LogCapture from testfixtures import LogCapture
...@@ -20,14 +21,16 @@ class TestLoginHelper(TestCase): ...@@ -20,14 +21,16 @@ class TestLoginHelper(TestCase):
def test_unsafe_next(self): def test_unsafe_next(self):
""" Test unsafe next parameter """ """ Test unsafe next parameter """
unsafe_url = "https://www.amazon.com"
with LogCapture(LOGGER_NAME, level=logging.ERROR) as logger: 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) get_next_url_for_login_page(req)
logger.check( 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): def test_safe_next(self):
""" Test safe next parameter """ """ 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) next_page = get_next_url_for_login_page(req)
self.assertEqual(next_page, u'/dashboard') self.assertEqual(next_page, u'/dashboard')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment