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)
Change History (9)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:3 by , 14 years ago
Severity: | → Normal |
---|---|
Type: | → Bug |
comment:4 by , 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 , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:7 by , 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 , 4 years ago
Owner: | removed |
---|---|
Status: | assigned → new |
Note:
See TracTickets
for help on using tickets.
+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?