• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kobotoolbox / kpi / 25166736302
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 30 Apr 2026 01:03PM UTC
Jobs 10
Files 912
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Apr 2026 12:59PM UTC coverage: 82.073% (-0.1%) from 82.182%
25166736302

push

github

web-flow
feat(auth): allauth openapi docs DEV-1829 (#6961)

### 📣 Summary
This PR exposes the django-allauth headless authentication API and
automatically merges its API docs into our core drf-spectacular OpenAPI
schemas. This allows our frontend generators (like Orval) to natively
build TypeScript interfaces for login, MFA, and profile management
flows.

### 📖 Description
I've explicitly mounted `allauth.headless.urls` at `/api/v2/allauth/` so
that Django can successfully perform reverse route-lookups. Since
allauth's engine uses standard Python views instead of DRF ViewSets,
drf-spectacular cannot natively autodiscover them. A custom
postprocessing hook (`merge_allauth_headless_schema`) that fetches the
internal allauth dictionary, ingests all components, and manually
patches them into the final DRF schema payload.

The custom hook automatically flattens ambiguous path templates (like
`_allauth/{client}/v1/login`) into discrete, concrete endpoints
(`/browser/v1/login` and `/app/v1/login`) and automatically injects
unique operationId handles to avoid conflicts with other endpoints
definitions.

### 👀 Preview steps
1. Go to the API docs in your environment (e.g.
http://kf.kobo.local/api/v2/docs/ ) and
2. Check the generated docs under `Authentication (Allauth Headless)`

---------

Co-authored-by: Rebecca Graber <becca.graber@kobotoolbox.org>

9045 of 12165 branches covered (74.35%)

3 of 42 new or added lines in 2 files covered. (7.14%)

29827 of 36342 relevant lines covered (82.07%)

5.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
39
16.67
-15.59% kpi/utils/spectacular_processing.py
Jobs
ID Job ID Ran Files Coverage
1 25166736302.1 30 Apr 2026 01:04PM UTC 908
52.51
2 25166736302.2 30 Apr 2026 01:04PM UTC 908
54.12
3 25166736302.3 30 Apr 2026 01:05PM UTC 910
53.72
4 25166736302.4 30 Apr 2026 01:05PM UTC 910
55.35
5 25166736302.5 30 Apr 2026 01:06PM UTC 908
52.81
6 25166736302.6 30 Apr 2026 01:07PM UTC 908
60.12
7 25166736302.7 30 Apr 2026 01:07PM UTC 910
65.94
8 25166736302.8 30 Apr 2026 01:07PM UTC 910
61.24
9 25166736302.9 30 Apr 2026 01:08PM UTC 912
68.16
10 25166736302.10 30 Apr 2026 01:09PM UTC 910
54.15
Source Files on build 25166736302
  • Tree
  • List 912
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • ef082ba9 on github
  • Prev Build on main (#25164140611)
  • Next Build on main (#25169075772)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc