Fixed #15179 -- middlewares not applied for test client login()

Requests made with django.test.Client.login() and logout() respect
defaults defined in django.test.Client instantiation and are processed
through middleware.

Thanks to Loic for the reviews.
This commit is contained in:
Unai Zalakain 2013-10-29 18:31:54 +01:00 committed by Anssi Kääriäinen
parent 9348fc5628
commit 4fdd51b732
4 changed files with 79 additions and 6 deletions

View file

@ -663,6 +663,13 @@ Use the ``django.test.Client`` class to make requests.
:meth:`~django.contrib.auth.models.UserManager.create_user` helper
method to create a new user with a correctly hashed password.
.. versionadded:: 1.7
Requests made with :meth:`~django.test.Client.login` go through the
request middleware. If you need to control the environment, you can
do so at :class:`~django.test.Client` instantiation or with the
`Client.defaults` attribute.
.. method:: Client.logout()
If your site uses Django's :doc:`authentication system</topics/auth/index>`,
@ -673,6 +680,13 @@ Use the ``django.test.Client`` class to make requests.
and session data cleared to defaults. Subsequent requests will appear
to come from an :class:`~django.contrib.auth.models.AnonymousUser`.
.. versionadded:: 1.7
Requests made with :meth:`~django.test.Client.logout` go through the
request middleware. If you need to control the environment, you can
do so at :class:`~django.test.Client` instantiation or with the
`Client.defaults` attribute.
Testing responses
~~~~~~~~~~~~~~~~~