# language: zh-CN
功能: PromptX服务启停管理
  作为PromptX用户
  我需要能够可靠地启动和停止MCP服务
  以便与AI应用进行交互

  背景:
    假如 测试环境已准备就绪
    并且 端口4001可用

  @smoke @fast
  场景: 基础服务启动
    当 我启动PromptX HTTP服务在端口4001
    那么 服务应该在3秒内成功启动
    并且 端口4001应该可访问
    并且 服务进程应该存在

  @smoke @fast
  场景: 服务重复启动保护
    假如 PromptX服务已在端口4001启动
    当 我尝试在同一端口再次启动服务
    那么 应该收到端口已占用的错误提示
    并且 原服务应该继续正常运行



  @critical
  场景: 服务优雅关闭
    假如 PromptX服务正在端口4001运行
    当 我发送停止信号给服务进程
    那么 服务应该在5秒内优雅关闭
    并且 端口4001应该被释放
    并且 服务进程应该不存在

  @comprehensive @slow
  场景: 服务异常恢复
    假如 PromptX服务已在端口4001启动
    当 服务遇到异常崩溃
    并且 我重新启动服务
    那么 新服务应该成功启动
    并且 服务应该正常响应请求

  @comprehensive
  场景大纲: 不同端口启动测试
    当 我启动PromptX HTTP服务在端口<port>
    那么 服务应该在3秒内成功启动
    并且 端口<port>应该可访问

    例子:
      | port |
      | 4002 |
      | 4003 |
      | 5001 |
      | 5002 |