Opened 11 years ago
Closed 11 years ago
#22963 closed Bug (invalid)
Test client PATCH turns into GET when follow=True
| Reported by: | Owned by: | nobody | |
|---|---|---|---|
| Component: | Testing framework | Version: | 1.6 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I ran into a little problem with the test framework. When following a redirect the PATCH request magically turns into a GET.
class DjangoTestPatch(TestCase):
def test_patch_follow_redirect(self):
response = self.client.patch('/path/')
self.assertEqual(response.request['REQUEST_METHOD'], 'PATCH') #Works
response = self.client.patch('/path', follow=True)
self.assertEqual(response.request['REQUEST_METHOD'], 'PATCH') #Doesn't Work
Attachments (1)
Change History (2)
by , 11 years ago
| Attachment: | ticket_22963.zip added |
|---|
comment:1 by , 11 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Hi Marshall,
This is the expected behavior of follow=True since the request attribute of the response refers to the redirect request which is performed using GET method.
You can test that this is not a django.test.client.Client.patch peculiarity by performing a POST and observing the same behavior (given that your '/path/' also performs a redirect for this method).
I'm attaching a test project I used to make sure your report was invalid. If you need extra help with the test framework I suggest your refer to wiki:TicketClosingReasons/UseSupportChannels before reporting a ticket. You should get feedback faster this way.
Simon
Test project