import pytest from jianda_proxy.cli import build_parser class TestParser: def test_start_subcommand_exists(self): parser = build_parser() args = parser.parse_args(["start"]) assert args.command == "start" assert args.foreground is False def test_start_foreground_flag(self): parser = build_parser() args = parser.parse_args(["start", "--foreground"]) assert args.foreground is True def test_stop_subcommand(self): parser = build_parser() args = parser.parse_args(["stop"]) assert args.command == "stop" def test_status_subcommand(self): parser = build_parser() args = parser.parse_args(["status"]) assert args.command == "status" def test_config_set(self): parser = build_parser() args = parser.parse_args(["config", "set", "listen_port", "8080"]) assert args.config_command == "set" assert args.key == "listen_port" assert args.value == "8080" def test_config_get(self): parser = build_parser() args = parser.parse_args(["config", "get", "listen_port"]) assert args.config_command == "get" assert args.key == "listen_port" def test_config_list(self): parser = build_parser() args = parser.parse_args(["config", "list"]) assert args.config_command == "list" def test_config_path(self): parser = build_parser() args = parser.parse_args(["config", "path"]) assert args.config_command == "path"