Files
aiagent/test_coding_agent_execution.py

70 lines
2.5 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
代码编程助手 工作流执行冒烟测试
test_agent_execution.py 相同调用链POST /api/v1/executions
input_data 仅含 queryUSER_INPUT工作流调用测试总结一致
用法示例:
python test_coding_agent_execution.py
python test_coding_agent_execution.py -m "你好"
python test_coding_agent_execution.py <agent_id>
python test_coding_agent_execution.py <agent_id> "写一个 hello world"
python test_coding_agent_execution.py --base-url http://127.0.0.1:8037 --max-wait 420
"""
from __future__ import annotations
import argparse
from test_agent_execution import DEFAULT_BASE_URL, test_agent_execution
CODING_AGENT_NAME = "代码编程助手"
DEFAULT_MESSAGE = "你好"
def _parse_args() -> argparse.Namespace:
p = argparse.ArgumentParser(
description=f'测试「{CODING_AGENT_NAME}」工作流执行(默认用户话术「{DEFAULT_MESSAGE}」)'
)
p.add_argument("agent_id", nargs="?", default=None, help="Agent UUID可选不传则按名称查找")
p.add_argument("user_input", nargs="?", default=None, help="用户消息(可选;等价于省略时使用默认值)")
p.add_argument(
"-m",
"--message",
default=None,
metavar="TEXT",
help=f'用户话术(优先于第二个位置参数;默认「{DEFAULT_MESSAGE}」)',
)
p.add_argument("--base-url", default=DEFAULT_BASE_URL, help="API 根地址")
p.add_argument("--username", default="admin")
p.add_argument("--password", default="123456")
p.add_argument("--request-timeout", type=int, default=120, help="单次 HTTP 超时秒数")
p.add_argument("--max-wait", type=int, default=420, help="轮询最长等待秒数(编程助手可能多轮 LLM")
p.add_argument("--poll-interval", type=float, default=2.0)
return p.parse_args()
def main() -> None:
args = _parse_args()
msg = DEFAULT_MESSAGE
if args.message is not None:
msg = args.message
elif args.user_input is not None:
msg = args.user_input
test_agent_execution(
agent_id=args.agent_id,
user_input=msg,
base_url=args.base_url,
username=args.username,
password=args.password,
agent_name=None if args.agent_id else CODING_AGENT_NAME,
request_timeout=args.request_timeout,
max_wait_time=args.max_wait,
poll_interval=args.poll_interval,
)
if __name__ == "__main__":
main()