Document use of authenticated client and django_user_model - #554
Conversation
- Includes misc documentation cleanup
|
|
||
| Environment autouse fixtures | ||
| ---------------------------- | ||
| Automatic cleanup |
There was a problem hiding this comment.
I changed this title because they appear to the end developer not as fixtures but as general features of pytest-django.
| -------- | ||
|
|
||
|
|
||
| Example with ``rf``, ``admin_user``, fixture and class-based views |
There was a problem hiding this comment.
I removed this example because it was not at all clear how it demonstrates the automatic cleanup discussed in this section. If an example is needed, hopefully we can come up with something more succinct and demonstrative.
Codecov Report
@@ Coverage Diff @@
## master #554 +/- ##
=====================================
Coverage 92% 92%
=====================================
Files 33 33
Lines 1627 1627
Branches 140 140
=====================================
Hits 1497 1497
Misses 93 93
Partials 37 37
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #554 +/- ##
=====================================
Coverage 92% 92%
=====================================
Files 33 33
Lines 1627 1627
Branches 140 140
=====================================
Hits 1497 1497
Misses 93 93
Partials 37 37
Continue to review full report at Codecov.
|
|
Thank you! |
This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users.
Fixes pytest-dev#565 This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users.
Fixes pytest-dev#565 This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users.
Fixes pytest-dev#565 This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users.
Fixes pytest-dev#565 This is based on conversations in issues pytest-dev#553, pytest-dev#554, and pytest-dev#284 - Introduces a django_user fixture, which is a user with no additional priveleges. Similar to admin_user. - A user_client, based on django_user. Similar to admin_client. - 3 new RequestFactory based fixtures, for unauthenticated, authenticated, and admin users: - rf_unauth: relies on AnonymousUser, similar to django docs example. - rf_admin: relies on admin_user fixture - rf_user: relies on new django_user fixture In addition, these 3 fixtures differ from rf in that they: - Mimic AuthenticationMiddleware by add the user attribute to the request object - Mimic SessionMiddleware by adding the 'session' attribute to the request object. This is an in-memory session store object from ``django.contrib.sessions.backends.base.SessionBase``. This fills the gaps left over by not having normal and unauthenticated user objects, clients, and request factories (when admin ones were available), and also covers a common case likely present in Django projects - anonymous (not logged in), authenticated, and admin users. Also, Update fixtures.py with changes from @blueyed
…t-dev#554) - Includes misc documentation cleanup
clientanddjango_user_model#553