feat: add CLI entry point with start/stop/status/config subcommands
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
48
tests/test_cli.py
Normal file
48
tests/test_cli.py
Normal file
@@ -0,0 +1,48 @@
|
||||
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"
|
||||
Reference in New Issue
Block a user