feat(runtime): consume governed Activity Core closes
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
This commit is contained in:
parent
0e6d795aa4
commit
d00ffcb402
22 changed files with 1218 additions and 148 deletions
70
tests/test_close_outbox_cli.py
Normal file
70
tests/test_close_outbox_cli.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
from rein_aharness.cli import main
|
||||
from rein_aharness.close_outbox import CloseOutbox, CloseRequest
|
||||
|
||||
|
||||
def test_close_outbox_status_reports_pending_and_sets_failure_exit(
|
||||
tmp_path: Path,
|
||||
capsys,
|
||||
) -> None:
|
||||
outbox = CloseOutbox(state_dir=tmp_path / "runtime-state")
|
||||
outbox.enqueue(
|
||||
CloseRequest(
|
||||
run_id="run-1",
|
||||
transaction_id="tx-1",
|
||||
worker_id="worker-1",
|
||||
action="complete",
|
||||
result={"ok": True},
|
||||
)
|
||||
)
|
||||
|
||||
assert main(["close-outbox", "status"]) == 1
|
||||
payload = json.loads(capsys.readouterr().out)
|
||||
assert payload == {"delivered": 0, "pending": 1, "quarantined": 0}
|
||||
|
||||
|
||||
def test_close_outbox_replay_delivers_pending_entry(
|
||||
tmp_path: Path,
|
||||
capsys,
|
||||
monkeypatch,
|
||||
) -> None:
|
||||
outbox = CloseOutbox(state_dir=tmp_path / "runtime-state")
|
||||
outbox.enqueue(
|
||||
CloseRequest(
|
||||
run_id="run-1",
|
||||
transaction_id="tx-1",
|
||||
worker_id="worker-1",
|
||||
action="complete",
|
||||
result={"ok": True},
|
||||
)
|
||||
)
|
||||
|
||||
class Client:
|
||||
class Config:
|
||||
worker_id = "worker-1"
|
||||
|
||||
config = Config()
|
||||
|
||||
def complete(self, run_id: str, *, result: dict):
|
||||
assert run_id == "run-1"
|
||||
assert result == {"ok": True}
|
||||
return None
|
||||
|
||||
monkeypatch.setattr(
|
||||
"rein_aharness.ops_run_client.ActivityCoreOpsClient",
|
||||
Client,
|
||||
)
|
||||
|
||||
assert main(["close-outbox", "replay"]) == 0
|
||||
payload = json.loads(capsys.readouterr().out)
|
||||
assert payload["delivered"] == 1
|
||||
assert payload["pending"] == 0
|
||||
|
||||
|
||||
def test_close_outbox_replay_rejects_invalid_limit(capsys) -> None:
|
||||
assert main(["close-outbox", "replay", "--limit", "0"]) == 2
|
||||
assert "between 1 and 1000" in capsys.readouterr().err
|
||||
Loading…
Add table
Add a link
Reference in a new issue