import pytest from tamq.routing import parse_address_line, parse_command_line def test_direct_address_uses_readable_case_sensitive_grammar(): routed = parse_address_line("To:railiance-platform: do something!") assert routed.body == "do something!" assert routed.target_repo == "railiance-platform" @pytest.mark.parametrize( "line", [ "@repo: removed", "#repo: removed", "to:repo: wrong case", "hello To:repo: not at start", "To:repo:", "From:repo: inbound envelope", ], ) def test_non_protocol_and_legacy_input_is_not_routed(line): assert parse_address_line(line) is None def test_operator_command_grammar(): assert parse_command_line("Cmd: mode=trigger") == "mode=trigger" assert parse_command_line("Cmd: reset-limits") == "reset-limits" assert parse_command_line("cmd: mode=trigger") is None