Skip to content

test: authenticate the e2e API client as the forum service user (0.4.2.x) - #297

Merged
feanil merged 3 commits into
release/0.4.2.xfrom
feanil/fix-e2e-api-client-0.4.2.x
Oct 14, 2026
Merged

feanil merged 3 commits into
release/0.4.2.xfrom
feanil/fix-e2e-api-client-0.4.2.x

Conversation

@feanil

@feanil feanil commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Backport of #294 to release/0.4.2.x. The forum HTTP API now requires a staff caller (GHSA-c6fp-f54c-6cv4), and tests/e2e/conftest.py overrode the authenticated api_client fixture with an anonymous client, so every e2e request got a 403. Locally pytest tests/e2e gives 74 passed with this change.

The other two commits fix CI on this branch, which is not expected to work with the latest unpinned Django: Django 6.1 removed cc_delim_re, which the pinned DRF 3.16.1 still imports. The py env is dropped from the CI matrix since it only differs from django42/django52 by leaving Django unpinned, and the e2e env is pinned to Django 5.2 to match requirements/quality.txt.

🤖 Generated with Claude Code

feanil and others added 2 commits October 14, 2026 10:06
The forum HTTP API now requires a staff caller (GHSA-c6fp-f54c-6cv4), and
tests/conftest.py's api_client fixture logs in as a staff service account
for that reason. tests/e2e/conftest.py overrode that fixture with an
anonymous client, so every e2e request got a 403.

Drop the override so the e2e suite uses the authenticated fixture from
tests/conftest.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The py env runs the same commands as django42 and django52 but leaves
Django unpinned, so it installs whatever Django release is newest. This
release/0.4.2.x backport branch is not expected to work with the latest
unpinned Django: Django 6.1 removed django.utils.cache.cc_delim_re, which
the djangorestframework 3.16.1 pinned here still imports, so the py job
fails before any test runs.

The supported Django versions are still covered by the django42 and
django52 envs, which are also the only ones in tox's envlist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@feanil
feanil marked this pull request as ready for review October 14, 2026 14:14
Like py, the e2e env installed requirements/test.txt, which has its
Django line stripped, and nothing else pinned Django, so it got the newest
release (6.1.2). This release/0.4.2.x backport branch is not expected to
work with the latest unpinned Django: Django 6.1 removed
django.utils.cache.cc_delim_re, which the pinned djangorestframework
3.16.1 still imports.

Pin e2e to the Django 5.2 line this branch's requirements/quality.txt
already pins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@feanil
feanil merged commit 8856ceb into release/0.4.2.x Oct 14, 2026
7 checks passed
@feanil
feanil deleted the feanil/fix-e2e-api-client-0.4.2.x branch October 14, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant