diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2007-02-18 08:02:00 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2007-02-18 08:02:00 +0000 |
| commit | 895633a80d04ba95b2efdb3e32ddf560c0693339 (patch) | |
| tree | 9249facfab10d691772ff4ec138148775cbb60bf | |
| parent | 2fe64761809e636dc4efadde305c0b9509c30ca9 (diff) | |
Fixed #3210 -- Modified test Client.login() to use urlparse, allowing absolute URLs in the Location header. Thanks, Ben Dean Kawamura.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4540 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | AUTHORS | 1 | ||||
| -rw-r--r-- | django/test/client.py | 6 |
2 files changed, 5 insertions, 2 deletions
@@ -104,6 +104,7 @@ answer newbie questions, and generally made Django that much better: Michael Josephson <http://www.sdjournal.com/> jpellerin@gmail.com junzhang.jn@gmail.com + Ben Dean Kawamura <ben.dean.kawamura@gmail.com> Garth Kidd <http://www.deadlybloodyserious.com/> kilian <kilian.cavalotti@lip6.fr> Sune Kirkeby <http://ibofobi.dk/> diff --git a/django/test/client.py b/django/test/client.py index 95900154c5..682dd01261 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -1,5 +1,6 @@ import sys from cStringIO import StringIO +from urlparse import urlparse from django.conf import settings from django.core.handlers.base import BaseHandler from django.core.handlers.wsgi import WSGIRequest @@ -222,7 +223,7 @@ class Client: if response.status_code != 302: return False - login_path, data = response['Location'].split('?') + _, _, login_path, _, data, _= urlparse(response['Location']) next = data.split('=')[1] # Second, GET the login page; required to set up cookies @@ -239,7 +240,8 @@ class Client: response = self.post(login_path, data=form_data, **extra) # Login page should 302 redirect to the originally requested page - if response.status_code != 302 or response['Location'] != path: + if (response.status_code != 302 or + urlparse(response['Location'])[2] != path): return False # Since we are logged in, request the actual page again |
