| from __future__ import annotations | |
| import pytest | |
| from hydradeck import cli | |
| from hydradeck.core.types import RunConfig | |
| def test_run_command_accepts_snapshot_total_timeout_default( | |
| monkeypatch: pytest.MonkeyPatch, | |
| ) -> None: | |
| captured: dict[str, float] = {} | |
| def fake_run(cfg: RunConfig) -> object: | |
| captured["snapshot_total_timeout_s"] = cfg.snapshot_total_timeout_s | |
| return object() | |
| monkeypatch.setattr(cli, "run", fake_run) | |
| code = cli.main( | |
| [ | |
| "run", | |
| "--topic", | |
| "t", | |
| "--out", | |
| "out.zip", | |
| "--base-url", | |
| "https://example.invalid", | |
| "--model", | |
| "mock", | |
| "--mock", | |
| ] | |
| ) | |
| assert code == 0 | |
| assert captured["snapshot_total_timeout_s"] == 60.0 | |
| def test_run_command_passes_request_budget(monkeypatch: pytest.MonkeyPatch) -> None: | |
| captured: dict[str, float] = {} | |
| def fake_run(cfg: RunConfig) -> object: | |
| captured["request_budget_s"] = cfg.request_budget_s | |
| return object() | |
| monkeypatch.setattr(cli, "run", fake_run) | |
| code = cli.main( | |
| [ | |
| "run", | |
| "--topic", | |
| "t", | |
| "--out", | |
| "out.zip", | |
| "--base-url", | |
| "https://example.invalid", | |
| "--model", | |
| "mock", | |
| "--request-budget", | |
| "90", | |
| "--mock", | |
| ] | |
| ) | |
| assert code == 0 | |
| assert captured["request_budget_s"] == 90.0 | |