strix/tests
Jonathan Singer 30390628da auth: make STRIX_LLM=openai/subscription the single switch
Replace the separate STRIX_AUTH_MODE flag with a sentinel model value:
STRIX_LLM=openai/subscription selects the authenticated ChatGPT subscription,
and any other value is a normal API-key model. The env vars that already run
Strix are now the single source of truth — no second mode to keep in sync.

Encapsulate the behavior instead of branching everywhere:
- StrixProvider.get_model routes the sentinel to a _CodexResponsesModel backed
  by a cached OAuth client (no global default-client mutation, no per-call
  client churn).
- _CodexResponsesModel self-enforces the backend's requirements — streaming,
  store=false, encrypted reasoning, and the configured reasoning effort — so the
  runner, warm-up, and make_model_settings no longer special-case subscription.

Remove now-unneeded machinery: STRIX_AUTH_MODE/AuthMode, the
"incompatible model" warning, the non-OpenAI model coercion, the
make_model_settings codex flag, and the global set_default_openai_client wiring.
run.json still records a derived auth_mode so the viewer/telemetry/cost display
are unchanged. Switching modes is now just editing STRIX_LLM.

Sentinel-only (no per-model override): a subscription run uses gpt-5.4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 23:10:57 -04:00
..
__init__.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_agent_factory_shell.py Default sandbox exec commands to Bash (#764) 2026-07-14 03:44:05 -07:00
test_agent_tool_registration.py Allow scan agent tool registration (#733) 2026-07-11 23:58:51 -04:00
test_auth_cli.py auth: make STRIX_LLM=openai/subscription the single switch 2026-07-22 23:10:57 -04:00
test_cli_target_list.py Add target list CLI option (#711) 2026-07-06 23:33:08 -04:00
test_codex_auth.py auth: make STRIX_LLM=openai/subscription the single switch 2026-07-22 23:10:57 -04:00
test_codex_streaming.py auth: make STRIX_LLM=openai/subscription the single switch 2026-07-22 23:10:57 -04:00
test_config_loader.py feat(settings): add force_required_tool_choice to LlmSettings (#730) 2026-07-10 18:36:33 -04:00
test_cost_tracking.py fix(report): restore cost tracking for OpenRouter and other LiteLLM-routed models (#801) 2026-07-17 13:38:23 -07:00
test_docker_client_delete.py fix(runtime): swallow torn-down docker socket in sandbox delete() (#721) 2026-07-10 00:13:35 -04:00
test_execution.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_hooks.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_inputs.py chore(llm): shorten timeout helper docstring; update tests 2026-07-17 19:45:32 -07:00
test_local_dir_staging.py fix(runtime): stage symlink-safe copies for LocalDir uploads (#766) 2026-07-14 17:40:23 -04:00
test_local_sources.py Add target list CLI option (#711) 2026-07-06 23:33:08 -04:00
test_model_retry.py fix(llm): add per-turn model request timeout so stalled streams fail fast and retry 2026-07-17 18:40:23 -07:00
test_models.py fix(llm): use a JSON-serializable per-turn model timeout 2026-07-17 19:45:32 -07:00
test_notes.py fix: avoid note ID collisions (#630) 2026-07-02 22:54:44 -04:00
test_optional_deps.py fix(providers): declare bedrock + vertex extras and add provider import-error hints (#588) 2026-07-07 10:24:49 -04:00
test_provider_hints.py fix(providers): match google submodule imports and walk full exception chain 2026-07-10 07:21:47 -07:00
test_proxy_client.py strip transfer encoding (#820) 2026-07-20 21:56:34 -04:00
test_proxy_renderer.py fix(tui): show 'more content available' for view_request over 15 lines (#687) 2026-07-06 03:50:02 -07:00
test_report_pdf.py Local run viewer: email reports, run history, and the platform suite (#813) 2026-07-21 08:13:03 -07:00
test_report_writer.py fix(report): prevent code-fence breakout in vulnerability markdown (#817) 2026-07-20 22:07:44 -04:00
test_reporting_fields.py fix(reporting): require advisory_cvss for dependency findings + add SCA TUI renderer (#753) 2026-07-12 17:31:49 -07:00
test_runner_rate_limit.py auth: make STRIX_LLM=openai/subscription the single switch 2026-07-22 23:10:57 -04:00
test_runner_root_prompt.py auth: make STRIX_LLM=openai/subscription the single switch 2026-07-22 23:10:57 -04:00
test_sarif.py feat(report): SARIF 2.1.0 emitter for CI / code-scanning integration (#626) 2026-07-03 10:43:31 -04:00
test_sarif_stride.py feat(report): tag SARIF rules with STRIDE legs derived from CWE (#708) 2026-07-06 21:19:53 -04:00
test_session_entries.py fix(runtime): stage symlink-safe copies for LocalDir uploads (#766) 2026-07-14 17:40:23 -04:00
test_skill_dir_extension.py Add skill directory registration (#746) 2026-07-12 12:05:58 -04:00
test_state_repo_context.py fix(report): omit SARIF provenance for multiple repos (#726) 2026-07-10 09:41:18 -04:00
test_usage_subscription.py feat(auth): sign in with a ChatGPT subscription for inference 2026-07-22 16:03:24 -04:00
test_viewer.py Local viewer: prominent scan switcher + rename to "pentest" terminology (#848) 2026-07-22 09:17:52 -07:00
test_viewer_auth.py Local run viewer: email reports, run history, and the platform suite (#813) 2026-07-21 08:13:03 -07:00
test_viewer_runs_gating.py Local run viewer: email reports, run history, and the platform suite (#813) 2026-07-21 08:13:03 -07:00