test(host): harden gateway and acceptance validation
This commit is contained in:
@@ -43,6 +43,53 @@ save_json() {
|
||||
printf '%s\n' "$payload" > "$ARTIFACT_DIR/$name.json"
|
||||
}
|
||||
|
||||
write_checklist_guide() {
|
||||
mkdir -p "$ARTIFACT_DIR"
|
||||
cat > "$ARTIFACT_DIR/00-artifact-guide.txt" <<EOF
|
||||
真实宿主验收产物 -> 速查清单对应
|
||||
|
||||
清单 1(环境 / host 前置)
|
||||
- 01-create-host.json
|
||||
- 02-probe-host.json
|
||||
|
||||
清单 2(channel 宿主契约 / 导入落库)
|
||||
- 03-install-pack.json
|
||||
- 04-preview-import.json
|
||||
- 05-import.json
|
||||
- 05a-batch-detail-pre-access.json(若拿到 batch_id 且非 dry-run)
|
||||
- 08-provider-status.json
|
||||
- 09-reconcile.json
|
||||
- 10-batch-detail.json(若拿到 batch_id 且非 dry-run)
|
||||
|
||||
清单 3(access / key 闭环状态)
|
||||
- 06-access-preview.json
|
||||
- 07-access-status.json
|
||||
|
||||
清单 4(必须分层留证据,不可混用)
|
||||
- account 视角:由 AFTER_IMPORT_HOOK_COMMAND 额外落证据,例如 GET /api/v1/admin/accounts/:id/models
|
||||
- 普通用户 / managed key 视角:由 AFTER_IMPORT_HOOK_COMMAND 额外落证据,例如 GET /v1/models
|
||||
- completion 视角:由 AFTER_IMPORT_HOOK_COMMAND 额外落证据,例如 POST /v1/chat/completions
|
||||
|
||||
红线:
|
||||
- /api/v1/admin/accounts/:id/models 正确 ≠ /v1/models 正确
|
||||
- /v1/models 正确 ≠ /v1/chat/completions 正确
|
||||
- admin API 成功 ≠ 普通用户链路成功
|
||||
|
||||
当前 hook 配置:$( [[ -n "$AFTER_IMPORT_HOOK_COMMAND" ]] && printf 'enabled' || printf 'disabled' )
|
||||
EOF
|
||||
}
|
||||
|
||||
print_artifact_summary() {
|
||||
echo "artifact guide: $ARTIFACT_DIR/00-artifact-guide.txt"
|
||||
echo "checklist import evidence: 04-preview-import.json 05-import.json 05a-batch-detail-pre-access.json(optional) 08-provider-status.json 09-reconcile.json"
|
||||
echo "checklist access evidence: 06-access-preview.json 07-access-status.json"
|
||||
if [[ -n "$AFTER_IMPORT_HOOK_COMMAND" ]]; then
|
||||
echo "checklist layered evidence: see 05b-after-import-hook.stdout.txt / 05b-after-import-hook.stderr.txt and hook-generated files under $ARTIFACT_DIR"
|
||||
else
|
||||
echo "checklist layered evidence: missing hook-generated /accounts/:id/models, /v1/models, /v1/chat/completions artifacts"
|
||||
fi
|
||||
}
|
||||
|
||||
curl_json() {
|
||||
local method="$1"
|
||||
local path="$2"
|
||||
@@ -135,6 +182,7 @@ export HOST_API_KEY HOST_BEARER_TOKEN ACCESS_API_KEY SUBSCRIPTION_USERS KEYS
|
||||
|
||||
mkdir -p "$ARTIFACT_DIR"
|
||||
echo "artifacts: $ARTIFACT_DIR"
|
||||
write_checklist_guide
|
||||
|
||||
HOST_AUTH_JSON="$(build_host_auth_payload)"
|
||||
export HOST_AUTH_JSON
|
||||
@@ -281,4 +329,5 @@ PY
|
||||
save_json 11-rollback "$RESP_ROLLBACK"
|
||||
fi
|
||||
|
||||
print_artifact_summary
|
||||
echo "acceptance flow completed"
|
||||
|
||||
Reference in New Issue
Block a user