fix(tradein/auth): restore brusnika (user2) pilot access
Some checks failed
CI / changes (pull_request) Successful in 15s
CI Trade-In / changes (pull_request) Successful in 15s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Failing after 1m37s
CI / openapi-codegen-check (pull_request) Successful in 3m23s
CI / backend-tests (pull_request) Successful in 16m36s
Some checks failed
CI / changes (pull_request) Successful in 15s
CI Trade-In / changes (pull_request) Successful in 15s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Failing after 1m37s
CI / openapi-codegen-check (pull_request) Successful in 3m23s
CI / backend-tests (pull_request) Successful in 16m36s
Откат expire-trial от 2026-07-09 (#2472/#2473): user2 expired→pilot в auth/roles.yaml. Оба зеркала test_rbac.py возвращены к «все user1..user10 == pilot». Правки под backend/** и tradein-mvp/** сами триггерят deploy + deploy-tradein (обход paths-filter trap: auth/** не входит в paths-фильтры). 50 попыток (оценок) выданы отдельно прямым UPSERT в прод account_estimate_usage (user2, период 2026-07, used=-35 → remaining=50) по runbook tradein_grant_estimate_attempts — грант живёт до конца календарного месяца UTC.
This commit is contained in:
parent
60c21ae2a5
commit
60be78f97c
3 changed files with 3 additions and 7 deletions
|
|
@ -70,7 +70,7 @@ users:
|
||||||
admin: admin
|
admin: admin
|
||||||
kopylov: pilot
|
kopylov: pilot
|
||||||
user1: pilot
|
user1: pilot
|
||||||
user2: expired # «Брусника» — пробный доступ закрыт 2026-07-09 (аналогично praktika) — NoAccessScreen variant="trial"
|
user2: pilot # «Брусника» — доступ восстановлен 2026-07-13 (снят trial-expire от 2026-07-09)
|
||||||
user3: pilot
|
user3: pilot
|
||||||
user4: pilot
|
user4: pilot
|
||||||
user5: pilot
|
user5: pilot
|
||||||
|
|
|
||||||
|
|
@ -114,9 +114,7 @@ def test_get_role_known_users() -> None:
|
||||||
assert auth_mod.get_role("admin") == "admin"
|
assert auth_mod.get_role("admin") == "admin"
|
||||||
assert auth_mod.get_role("kopylov") == "pilot"
|
assert auth_mod.get_role("kopylov") == "pilot"
|
||||||
for n in range(1, 11):
|
for n in range(1, 11):
|
||||||
# user2 = «Брусника»: пробный доступ закрыт 2026-07-09 (roles.yaml)
|
assert auth_mod.get_role(f"user{n}") == "pilot"
|
||||||
expected = "expired" if n == 2 else "pilot"
|
|
||||||
assert auth_mod.get_role(f"user{n}") == expected
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_role_unknown_user_raises() -> None:
|
def test_get_role_unknown_user_raises() -> None:
|
||||||
|
|
|
||||||
|
|
@ -132,9 +132,7 @@ def test_get_role_known_users() -> None:
|
||||||
assert auth_mod.get_role("admin") == "admin"
|
assert auth_mod.get_role("admin") == "admin"
|
||||||
assert auth_mod.get_role("kopylov") == "pilot"
|
assert auth_mod.get_role("kopylov") == "pilot"
|
||||||
for n in range(1, 11):
|
for n in range(1, 11):
|
||||||
# user2 = «Брусника»: пробный доступ закрыт 2026-07-09 (roles.yaml)
|
assert auth_mod.get_role(f"user{n}") == "pilot"
|
||||||
expected = "expired" if n == 2 else "pilot"
|
|
||||||
assert auth_mod.get_role(f"user{n}") == expected
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_role_unknown_user_raises() -> None:
|
def test_get_role_unknown_user_raises() -> None:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue