2026-08-24 01:18:40 +02:00
|
|
|
from tamq.broker import BrokerIdentity, InputBroker
|
|
|
|
|
from tamq.store import Store
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FakeControl:
|
|
|
|
|
def __init__(self):
|
|
|
|
|
self.calls = []
|
|
|
|
|
|
|
|
|
|
def inject(self, window, text):
|
|
|
|
|
self.calls.append((window, text))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_pending_delivery_marks_injected(tmp_path):
|
|
|
|
|
store = Store(tmp_path / "queue.sqlite3")
|
|
|
|
|
message_id = store.add("net-kingdom", "railiance-platform", "hello", endpoint="tmux-amq-42")
|
|
|
|
|
control = FakeControl()
|
|
|
|
|
count = InputBroker(store, BrokerIdentity("tmux-amq-42", "net-kingdom")).deliver_pending(control, window_for_repo=lambda repo: f"tamq:{repo}")
|
|
|
|
|
assert count == 1
|
2026-08-25 19:26:27 +02:00
|
|
|
assert control.calls == [("tamq:railiance-platform", "From:net-kingdom: hello")]
|
2026-08-24 01:18:40 +02:00
|
|
|
assert store.list()[0]["message_id"] == message_id
|
|
|
|
|
assert store.list()[0]["state"] == "injected"
|