Opened 15 years ago

Last modified 4 years ago

#12227 new Bug

PREPEND_WWW breaks the test client

Reported by: Andy Baker Owned by:
Component: Testing framework Version: 1.1
Severity: Normal Keywords: test client, redirect, prepend_www
Cc: andy@… Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

With PREPEND_WWW set to true the test client will always give a 301 status_code:

    >>> from django.test.client import Client
    >>> c = Client()
    >>> r = c.get('/admin/', follow=True)
    >>> r.status_code
    301
    >>> r.redirect_chain
    [('http://www.testserver/admin/', 301), ('http://www.testserver/admin/', 301)]

Attachments (1)

12227.diff (1.2 KB ) - added by Mark Lavin 13 years ago.
Added failing test case.

Download all attachments as: .zip

Change History (9)

comment:1 by Stavros Korokithakis, 15 years ago

+1, this behaviour serves no purpose. It only makes testing difficult and forces me to never use prepend_www and rather do my redirects at the webserver level. Perhaps PREPEND_WWW should be disabled before every test automatically, since it's not what testing is supposed to test for?

comment:2 by Eric Holscher, 15 years ago

Triage Stage: UnreviewedAccepted

comment:3 by Matt McClanahan, 14 years ago

Severity: Normal
Type: Bug

by Mark Lavin, 13 years ago

Attachment: 12227.diff added

Added failing test case.

comment:4 by Mark Lavin, 13 years ago

Easy pickings: unset
UI/UX: unset

Not sure how to fix but I've added a test case which demonstrates the described issue.

comment:5 by Sharpek, 11 years ago

Owner: changed from nobody to Sharpek
Status: newassigned

comment:6 by Sharpek, 11 years ago

I' going to check&fix this issue.

comment:7 by James Beith, 9 years ago

I’ve been experiencing this and am using SERVER_NAME and host as a fix. Though as the number of tests I write for the project grows it doesn’t seem the most ideal solution.

response = self.client.get('/redirect/', follow=True, SERVER_NAME='www.testserver')
self.assertRedirects(response, '/result/', status_code=301, host='www.testserver')

comment:8 by Mariusz Felisiak, 4 years ago

Owner: Sharpek removed
Status: assignednew
Note: See TracTickets for help on using tickets.
Back to Top