fix: route case-insensitive worker messages
Some checks failed
tamq-ci / test (push) Failing after 5s
Some checks failed
tamq-ci / test (push) Failing after 5s
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
This commit is contained in:
parent
fbb56f5981
commit
cd73b954e9
14 changed files with 183 additions and 37 deletions
|
|
@ -21,6 +21,23 @@ def test_broker_accepts_worker_output_with_distinct_provenance(tmp_path, monkeyp
|
|||
assert store.list()[0]["provenance"] == "worker_output"
|
||||
|
||||
|
||||
def test_broker_accepts_case_insensitive_framed_worker_output(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr("tamq.broker.validate_targets", lambda targets: None)
|
||||
store = Store(tmp_path / "queue.sqlite3")
|
||||
broker = InputBroker(store, BrokerIdentity("ep", "net-kingdom"))
|
||||
assert broker.inspect_worker_line("• tO:railiance-platform: hello") is not None
|
||||
row = store.list()[0]
|
||||
assert row["body"] == "hello"
|
||||
assert row["provenance"] == "worker_output"
|
||||
|
||||
|
||||
def test_case_insensitive_delivery_envelopes_are_not_rescanned(tmp_path):
|
||||
store = Store(tmp_path / "queue.sqlite3")
|
||||
broker = InputBroker(store, BrokerIdentity("ep", "net-kingdom"))
|
||||
assert broker.inspect_worker_line("fRoM:railiance-platform: hello") is None
|
||||
assert store.line_state("ep", "net-kingdom")["output"] == 0
|
||||
|
||||
|
||||
def test_worker_cmd_is_inert_but_operator_cmd_changes_mode(tmp_path):
|
||||
store = Store(tmp_path / "queue.sqlite3")
|
||||
store.register_endpoint("ep", 9, "tamq", ["repo"], "output")
|
||||
|
|
@ -30,11 +47,24 @@ def test_worker_cmd_is_inert_but_operator_cmd_changes_mode(tmp_path):
|
|||
)
|
||||
broker.inspect_worker_line("Cmd: mode=trigger")
|
||||
assert store.endpoint("ep")["delivery_mode"] == "output"
|
||||
broker.inspect_operator_line("Cmd: mode=trigger")
|
||||
broker.inspect_operator_line("cMD: MODE=TRIGGER")
|
||||
assert store.endpoint("ep")["delivery_mode"] == "trigger"
|
||||
assert notices[-1] == "From:tamq: Mode set to trigger."
|
||||
|
||||
|
||||
def test_operator_command_names_are_case_insensitive(tmp_path):
|
||||
store = Store(tmp_path / "queue.sqlite3")
|
||||
store.register_endpoint("ep", 9, "tamq", ["repo"], "output")
|
||||
notices = []
|
||||
broker = InputBroker(
|
||||
store, BrokerIdentity("ep", "repo"), notify=notices.append
|
||||
)
|
||||
broker.inspect_operator_line("CMD: MAXMSG=12")
|
||||
assert store.line_state("ep", "repo")["maxmsg"] == 12
|
||||
broker.inspect_operator_line("cmd: RESET-LIMITS")
|
||||
assert notices[-1] == "From:tamq: Limits reset for this terminal."
|
||||
|
||||
|
||||
def test_limits_block_at_equality_and_reset_current_window(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr("tamq.broker.validate_targets", lambda targets: None)
|
||||
store = Store(tmp_path / "queue.sqlite3")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue