name: auth-password
description: |
  Восстановление пароля (ТЗ 2.1.3): анти-энумерация (forgot всегда 200),
  reset с битым токеном → 400, слишком короткий пароль → 400, рейт-лимит
  forgot (>3 запросов/час с IP → 429).

  Примечание: рейт-лимит хранится в памяти процесса API per-IP на 1 час.
  Сценарий рассчитан на запуск против свежезапущенного API (повторный прогон
  без рестарта увидит 429 на первых же forgot-запросах).

preconditions:
  reset_db: true
  smoke_login_super_admin: true

steps:
  - id: step01_bootstrap
    title: "Создать орг → известный email активного пользователя"
  - id: step02_forgot_unknown_200
    title: "forgot-password несуществующего email → 200 (анти-энумерация)"
  - id: step03_forgot_known_200
    title: "forgot-password существующего email → 200"
  - id: step04_reset_bad_token
    title: "reset-password с битым токеном → 400"
  - id: step05_reset_short_password
    title: "reset-password со слишком коротким паролем → 400"
  - id: step06_forgot_rate_limited
    title: "Серия forgot с одного IP → появляется 429 (рейт-лимит)"
