From c45fcd278b48b066ef03765c82005ba96183db09 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 30 Jun 2014 17:48:14 -0400 Subject: [PATCH] [1.7.x] Fixed #19489 -- Documented host parameter of assertRedirects(). Thanks mrknacky at gmail.com for the report and gajimenezmaggiora for the draft patch. Backport of e3c7af18a3 from master --- docs/topics/testing/tools.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index 78af69a3a4..c34058af7c 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -1345,16 +1345,24 @@ your test suite. You can use this as a context manager in the same way as :meth:`~SimpleTestCase.assertTemplateUsed`. -.. method:: SimpleTestCase.assertRedirects(response, expected_url, status_code=302, target_status_code=200, msg_prefix='', fetch_redirect_response=True) +.. method:: SimpleTestCase.assertRedirects(response, expected_url, status_code=302, target_status_code=200, host=None, msg_prefix='', fetch_redirect_response=True) - Asserts that the response return a ``status_code`` redirect status, it - redirected to ``expected_url`` (including any GET data), and the final - page was received with ``target_status_code``. + Asserts that the response returned a ``status_code`` redirect status, + redirected to ``expected_url`` (including any ``GET`` data), and that the + final page was received with ``target_status_code``. If your request used the ``follow`` argument, the ``expected_url`` and ``target_status_code`` will be the url and status code for the final point of the redirect chain. + The ``host`` argument sets a default host if ``expected_url`` doesn't + include one (e.g. ``"/bar/"``). If ``expected_url`` is an absolute URL that + includes a host (e.g. ``"http://testhost/bar/"``), the ``host`` parameter + will be ignored. Note that the test client doesn't support fetching external + URLs, but the parameter may be useful if you are testing with a custom HTTP + host (for example, initializing the test client with + ``Client(HTTP_HOST="testhost")``. + .. versionadded:: 1.7 If ``fetch_redirect_response`` is ``False``, the final page won't be