#36937: Add missing positive test cases for @permission_required in test_client
-------------------------------------+-------------------------------------
Reporter: | Owner: saishmungase
saishmungase |
Type: | Status: assigned
Cleanup/optimization |
Component: Testing | Version: dev
framework |
Severity: Normal | Keywords: test_client
Triage Stage: | Has patch: 1
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 1
UI/UX: 0 |
-------------------------------------+-------------------------------------
In `tests/test_client/tests.py`, the `test_view_with_permissions` and
`test_view_with_method_permissions` methods contain `TODO` comments
indicating missing positive test coverage. The tests successfully verify
the negative paths (302 redirects for unauthorized users) but fail to
verify the 200 OK path for authorized users.
Upon implementing the positive test cases, it became clear that the dummy
views in `tests/test_client/views.py` were decorated with a malformed
permission string (`"permission_not_granted"`). Because this string lacks
a standard `app_label.codename` format, Django's standard `ModelBackend`
fails to parse it during the `has_perm()` check. This made it impossible
to test standard permission assignment properly without relying on
workarounds like the `is_superuser` flag.
This patch:
1. Updates the dummy views in `tests/test_client/views.py` to use a
standard, valid permission string (`"auth.add_user"`).
2. Resolves the `TODO` comments in `tests/test_client/tests.py` by
assigning the real `auth.add_user` permission to the test user and
asserting the successful 200 OK response.
I have the patch ready and will submit a Pull Request shortly.
--
Ticket URL: <https://code.djangoproject.com/ticket/36937>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/django-updates/0107019c766f47dc-a098883f-33b4-4551-9e60-4a034a38246e-000000%40eu-central-1.amazonses.com.