tmux-amq/tests/test_protocol.py
tegwick 2983fe6551
Some checks failed
tamq-ci / test (push) Failing after 7s
fix: prevent mixed-version pushy feedback
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
2026-08-25 14:04:17 +02:00

42 lines
1.5 KiB
Python

import asyncio
import json
from tamq.service import PUSHY_FRAMING_CAPABILITY, Service
from tamq.store import Store
def test_incompatible_protocol_rejected(tmp_path):
async def run():
path = tmp_path / "tamq.sock"
service = Service(path, Store(tmp_path / "queue.sqlite3"))
server = await asyncio.start_unix_server(service.handle, path=str(path))
try:
reader, writer = await asyncio.open_unix_connection(str(path))
writer.write(b'{"op":"ping","protocol":"2.0"}\n'); await writer.drain()
response = json.loads(await reader.readline())
assert response["ok"] is False
writer.close(); await writer.wait_closed()
finally:
server.close(); await server.wait_closed(); service.close()
asyncio.run(run())
def test_ping_advertises_non_routable_pushy_framing(tmp_path):
async def run():
path = tmp_path / "tamq.sock"
service = Service(path, Store(tmp_path / "queue.sqlite3"))
server = await asyncio.start_unix_server(service.handle, path=str(path))
try:
reader, writer = await asyncio.open_unix_connection(str(path))
writer.write(b'{"op":"ping"}\n')
await writer.drain()
response = json.loads(await reader.readline())
assert PUSHY_FRAMING_CAPABILITY in response["capabilities"]
writer.close()
await writer.wait_closed()
finally:
server.close()
await server.wait_closed()
service.close()
asyncio.run(run())