Fix the 7 failing registration tests in learn after the stronger password rules
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- authentication, testing-qa
Direzione di ricerca
Inizia da learn/tests/test_api_auth.py nella classe TestApiRegister, dove le fixture di registrazione usano "password123", e leggi validate_password_strength() in learn/src/worker.py per vedere le regole che applica. Esegui cd learn && python -m pytest -q (tests/conftest.py simula il runtime di Workers) per confermare i 7 fallimenti indicati. È completato quando questi test passano con una password conforme alla policy e i nuovi test verificano che ogni regola restituisca un 400 con il suo messaggio, senza modificare il codice di produzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
learn now enforces a strong password policy in validate_password_strength() (learn/src/worker.py ~line 1705): at least one uppercase letter, lowercase letter, number and symbol, plus a common-password blocklist. The tests in learn/tests/test_api_auth.py::TestApiRegister still register users with "password123", so api_register returns 400 "Password must include an uppercase letter" and 7 tests fail on main:
test_successful_registration, test_name_defaults_to_username, test_custom_name_preserved, test_duplicate_user_returns_409, test_db_error_returns_500, test_registration_sends_verification_message, test_register_is_rate_limited_per_ip.
This is the first slice of the GSoC 2027 starter idea "Make learn's test suite green". Run the suite with cd learn && pip install pytest pytest-asyncio && python -m pytest -q (no Cloudflare account needed; tests/conftest.py stubs the Workers runtime).
What to do
- Update the fixtures in
TestApiRegisterto use a password that satisfies the policy (e.g. a module-levelSTRONG_PASSWORDconstant), without weakeningvalidate_password_strength(). - Add one test per rule (missing uppercase, lowercase, digit, symbol; common password; password containing the username) so the policy itself is covered by
api_registertests, not just by the helper.
Acceptance criteria
- All 7 tests above pass.
- New tests cover each password-rule rejection with a 400 and the rule's message.
- No production code changes, unless you find a genuine bug (explain it in the PR).
Files
learn/tests/test_api_auth.pylearn/src/worker.py (validate_password_strength, api_register)
Helpful links
- learn/README.md
- https://gsoc.alphaonelabs.com/ideas (Small Starter Ideas)
Part of GSoC 2027 onboarding — see https://gsoc.alphaonelabs.com
- Lingua principale
- HTML
- Stelle
- 66
- Fork
- 181
- Merge medio
- 2h 21m
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di alphaonelabs/website
-
Rewrite the gsoc/ README for the current site and 2027Forse già presa @KanishJebaMathewM l’ha presa 1 giorno fa. Aperta2026-11 documentation good first issue gsoc-2027 project: gsoc
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
alphaonelabs/website#1154 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Add unit tests for the virtual campus layout logicForse già presa @KanishJebaMathewM l’ha presa 1 giorno fa. Aperta2026-11 good first issue gsoc-2027 project: virtual tests
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
alphaonelabs/website#1150 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Don't let Mockuper's shortcuts hijack undo and delete while typing in a fieldForse già presa @bfs2021 l’ha presa 1 giorno fa. Aperta2026-11 bug good first issue gsoc-2027 project: mockuper
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
alphaonelabs/website#1147 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Update BotLab's README and CONTRIBUTING for the monorepo and live siteForse già presa @KanishJebaMathewM l’ha presa 1 giorno fa. Aperta2026-11 documentation good first issue gsoc-2027 project: botlab
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
alphaonelabs/website#1144 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Fix PMOSS docs: broken code blocks, stale repo URLs and database nameForse già presa @KanishJebaMathewM l’ha presa 1 giorno fa. Aperta2026-11 documentation good first issue gsoc-2027 project: pmoss
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
alphaonelabs/website#1139 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di alphaonelabs/website
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
emersion/go-msgauth#87 ·
-
Add unit tests for the organization admin role checkForse già presa @SaffuSafwan l’ha presa oggi. Apertaarea/core good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
elmohq/elmo#1095 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
code-yeongyu/senpi#5713 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno