Some checks failed
tamq-ci / test (push) Failing after 36s
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a02f34-ead4-7a60-85cd-d7f08e22fa0e
31 lines
963 B
Python
31 lines
963 B
Python
from tamq.service import Service
|
|
from tamq.store import Store
|
|
|
|
|
|
class FakeControl:
|
|
instances = []
|
|
|
|
def __init__(self, session):
|
|
self.session = session
|
|
self.injected = []
|
|
self.__class__.instances.append(self)
|
|
|
|
def start(self):
|
|
return None
|
|
|
|
def inject(self, window, text):
|
|
self.injected.append((window, text))
|
|
|
|
def close(self):
|
|
return None
|
|
|
|
|
|
def test_service_delivery_injects_pending_messages(tmp_path, monkeypatch):
|
|
store = Store(tmp_path / "queue.sqlite3")
|
|
store.register_endpoint("tmux-amq-9-boot", 9, "tamq", ["repo-b"])
|
|
message_id = store.add("repo-a", "repo-b", "continue")
|
|
monkeypatch.setattr("tamq.service.ControlModeClient", FakeControl)
|
|
Service(store=store)._deliver_once()
|
|
assert FakeControl.instances[-1].injected == [("tamq:repo-b", "#repo-a: continue")]
|
|
assert store.list()[0]["message_id"] == message_id
|
|
assert store.list()[0]["state"] == "injected"
|