feat: add conversational replies and stable output
Some checks failed
tamq-ci / test (push) Failing after 6s
Some checks failed
tamq-ci / test (push) Failing after 6s
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
This commit is contained in:
parent
704eeea5c1
commit
a4ba6e32e5
17 changed files with 363 additions and 59 deletions
|
|
@ -32,6 +32,43 @@ def test_manual_send_inbox_and_ack_use_window_repository_identity(tmp_path, monk
|
|||
assert capsys.readouterr().out == ""
|
||||
|
||||
|
||||
def test_bare_reply_targets_latest_inbound_sender(tmp_path, monkeypatch, capsys):
|
||||
monkeypatch.setenv("TAMQ_STATE_DIR", str(tmp_path / "state"))
|
||||
monkeypatch.setenv("TAMQ_REPO", "audit-core")
|
||||
monkeypatch.setattr("tamq.cli.ping", service_is_down)
|
||||
monkeypatch.setattr("tamq.cli.validate_targets", lambda repos: None)
|
||||
store = Store(tmp_path / "state" / "tamq.sqlite3")
|
||||
store.add("flex-auth", "audit-core", "older")
|
||||
latest = store.add("railiance-platform", "audit-core", "latest")
|
||||
store.acknowledge(latest)
|
||||
store.add("audit-core", "audit-core", "self note")
|
||||
store.close()
|
||||
|
||||
assert main(["reply", "--", "--looks-like-an-option", "thanks"]) == 0
|
||||
message_id = capsys.readouterr().out.strip()
|
||||
|
||||
store = Store(tmp_path / "state" / "tamq.sqlite3")
|
||||
row = next(row for row in store.list() if row["message_id"] == message_id)
|
||||
assert row["sender_repo"] == "audit-core"
|
||||
assert row["target_repo"] == "railiance-platform"
|
||||
assert row["body"] == "--looks-like-an-option thanks"
|
||||
store.close()
|
||||
|
||||
|
||||
def test_bare_reply_requires_managed_identity_and_prior_sender(tmp_path, monkeypatch, capsys):
|
||||
monkeypatch.setenv("TAMQ_STATE_DIR", str(tmp_path / "state"))
|
||||
monkeypatch.setattr("tamq.cli.ping", service_is_down)
|
||||
monkeypatch.setattr("tamq.cli.validate_targets", lambda repos: None)
|
||||
monkeypatch.delenv("TAMQ_REPO", raising=False)
|
||||
|
||||
assert main(["reply", "hello"]) == 2
|
||||
assert "managed window" in capsys.readouterr().err
|
||||
|
||||
monkeypatch.setenv("TAMQ_REPO", "audit-core")
|
||||
assert main(["reply", "hello"]) == 2
|
||||
assert "no counterparty" in capsys.readouterr().err
|
||||
|
||||
|
||||
def test_inbox_requires_repository_outside_managed_window(tmp_path, monkeypatch, capsys):
|
||||
monkeypatch.setenv("TAMQ_STATE_DIR", str(tmp_path / "state"))
|
||||
monkeypatch.delenv("TAMQ_REPO", raising=False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue