26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
## MODIFIED Requirements
|
||
|
||
### Requirement: YAML 配置文件格式
|
||
target MUST 使用 `type` 字段声明 checker 类型,HTTP 领域字段 MUST 放在 `http` 分组,cmd 领域字段 MUST 放在 `cmd` 分组。
|
||
|
||
#### Scenario: 最简 command 配置文件解析
|
||
- **WHEN** 系统读取只包含一个 `type: cmd` target 和 `cmd.exec` 的 YAML 配置文件
|
||
- **THEN** 系统 SHALL 使用内置默认值填充未指定的字段(interval=30s, timeout=10s, cmd.cwd 为配置文件所在目录, cmd.maxOutputBytes=100MB)
|
||
|
||
### Requirement: 配置校验
|
||
|
||
#### Scenario: command target 缺少 exec
|
||
- **WHEN** YAML 中某个 target 配置 `type: cmd` 但缺少 `cmd.exec`
|
||
- **THEN** 系统 SHALL 以错误退出,提示该 target 缺少 cmd.exec 字段
|
||
|
||
#### Scenario: 动态 env 字段允许
|
||
- **WHEN** YAML 中 `cmd.env` 包含任意环境变量名称,且对应值为字符串
|
||
- **THEN** 系统 SHALL 接受这些动态 env 名称
|
||
|
||
### Requirement: expect 配置增强
|
||
系统 SHALL 支持 typed target 的领域专用 expect 配置,包括 HTTP 的 `status`、`headers`、`body` 和 cmd 的 `exitCode`、`stdout`、`stderr`。
|
||
|
||
#### Scenario: 解析 command expect 配置
|
||
- **WHEN** YAML 配置文件中 cmd target 的 expect 包含 exitCode、stdout 和 stderr 规则数组
|
||
- **THEN** 系统 SHALL 正确解析并存储为 cmd target 的 expect 字段
|