from pam_deploy_graph.output_parser import parse_key_values, parse_script_result, parse_mcp_result def test_parse_key_values_collects_repeated_ips(): values = parse_key_values("ACTION=get-online-ips\nCOUNT=2\nIP=1.1.1.1\nIP=2.2.2.2\n") assert values["ACTION"] == "get-online-ips" assert values["IP"] == ["1.1.1.1", "2.2.2.2"] def test_parse_script_result_detects_pending_confirmation(): result = parse_script_result( "verify-ip", "PENDING_AGENT_CONFIRMATION(stopFirst=true)\n", "", 0, ) assert not result.ok assert result.values["PENDING_AGENT_CONFIRMATION"] == "PENDING_AGENT_CONFIRMATION(stopFirst=true)" def test_parse_mcp_result_normalizes_aliases(): result = parse_mcp_result("upload-package", {"hashCode": "abc"}) assert result.values["HASH_CODE"] == "abc"