WREMOTE1 规划远端收口和正式模板测试

这个提交包含在:
2026-05-22 13:41:48 +08:00
父节点 170b9f9146
当前提交 6361dc2efb
共修改 18 个文件,包含 330 行新增和 171 行删除
@@ -13,11 +13,10 @@ usage() {
cat <<'EOF'
Usage:
bash scripts/qa/run-wecom-test-account-final-closeout.sh --remote
WTCLOSE2_EXECUTION_MODE=remote bash scripts/qa/run-wecom-test-account-final-closeout.sh
WTCLOSE2 must run on the deployment server because Enterprise WeChat API access is
restricted by trusted IP. Local execution is intentionally blocked unless
WTCLOSE2_ALLOW_LOCAL_RUN=1 is set for script development only.
restricted by trusted IP. Local execution is intentionally blocked; use bash -n
for syntax/static checks.
EOF
}
@@ -38,7 +37,7 @@ else
compose_cmd=(docker-compose)
fi
"${compose_cmd[@]}" -f "$COMPOSE_FILE" --env-file "$REMOTE_ENV_FILE" exec -T server sh -lc \
"cd /app && LIVE_SMOKE_BASE_URL='$LIVE_SMOKE_BASE_URL' WTCLOSE2_EXECUTION_MODE=remote bash scripts/qa/run-wecom-test-account-final-closeout.sh"
"cd /app && LIVE_SMOKE_BASE_URL='$LIVE_SMOKE_BASE_URL' WTCLOSE2_EXECUTION_MODE=remote WTCLOSE2_REMOTE_CONTEXT=deployment-server bash scripts/qa/run-wecom-test-account-final-closeout.sh"
REMOTE
}
@@ -60,7 +59,7 @@ case "${1:-}" in
;;
esac
if [[ "${WTCLOSE2_EXECUTION_MODE:-}" != "remote" && "${WTCLOSE2_ALLOW_LOCAL_RUN:-0}" != "1" ]]; then
if [[ "${WTCLOSE2_EXECUTION_MODE:-}" != "remote" || "${WTCLOSE2_REMOTE_CONTEXT:-}" != "deployment-server" ]]; then
printf '[wtclose2][ERROR] Enterprise WeChat API checks must run on the deployment server trusted IP. Use --remote.\n' >&2
usage >&2
exit 2
@@ -175,6 +174,8 @@ NODE
run_wauto1() {
run_finding_step "wauto1-evidence" env \
WAUTO1_REPORT_DIR="$REPORT_DIR/wecom-controlled-trial-evidence" \
WAUTO1_EXECUTION_MODE=remote \
WAUTO1_REMOTE_CONTEXT=deployment-server \
LIVE_SMOKE_BASE_URL="$PUBLIC_BASE_URL" \
bash "$ROOT_DIR/scripts/qa/collect-wecom-controlled-trial-evidence.sh"
}
@@ -182,6 +183,8 @@ run_wauto1() {
run_wfullsmoke1() {
run_finding_step "wfullsmoke1-no-public-writes" env \
WFULLSMOKE_REPORT_DIR="$REPORT_DIR/three-day-full-goal-smoke" \
WFULLSMOKE_EXECUTION_MODE=remote \
WFULLSMOKE_REMOTE_CONTEXT=deployment-server \
WFULLSMOKE_ALLOW_PUBLIC_WRITES=0 \
LIVE_SMOKE_BASE_URL="$PUBLIC_BASE_URL" \
bash "$ROOT_DIR/scripts/qa/run-three-day-full-goal-smoke.sh"
@@ -312,9 +315,9 @@ const manualGates = [
evidence: "三天打卡、请假/补卡、详情后审批和 OA 历史查看需随最终验收确认",
},
{
id: "WEXT1-LIVE",
id: "WEXT1-FORMAL",
status: "PENDING_USER_APPROVAL",
evidence: "外出/加班 dry-run 通过后仍需单独问答批准 live 写入",
evidence: "远端收口可解释通过后仍需单独问答批准 SMOKE002 人工提交正式模板外出/加班测试单;系统只读校验",
},
{
id: "WREAL1",
@@ -368,14 +371,14 @@ const summary = {
},
nextQuestions: {
closeout: [
"A:接受测试号收口,进入 WEXT1-LIVE 问答。",
"A:接受测试号收口,进入 WEXT1-FORMAL 正式模板人工提交问答。",
"B:接受 PASS_WITH_FINDINGS,但先处理指定 finding。",
"C:暂停,不进入 live 或真实试用。",
"C:暂停,不进入正式模板外出/加班测试或真实试用。",
],
wext1Live: [
"A:批准一次 live 创建外出+加班 OA-POC 样件,保留审计。",
"B:只保留 dry-run,不创建样件。",
"C:外出/加班移出 V1。",
wext1Formal: [
"A:批准 SMOKE002 在正式模板提交外出+加班低风险测试单,SMOKE101 先看详情再审批,系统只读校验并保留审计。",
"B:只测请假/补卡/打卡,不提交外出/加班正式模板测试单。",
"C:暂停,先检查企微正式模板配置。",
],
wreal1: [
"A:1 名真实员工 + 1 名审批人/管理员观察。",