Improve test reliability by adding explicit checks for bootstrap process
Update testkit.ts to add explicit failure conditions for missing payment hash in stub mode and to assert that the bootstrapJobId returned in the poll response matches the created ID. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 418bf6f8-212b-4bb0-a7a5-8231a061da4e Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 9114d92d-daf7-42ae-a3f7-be296300efa5 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9f85e954-647c-46a5-90a7-396e495a805a/418bf6f8-212b-4bb0-a7a5-8231a061da4e/Q83Uqvu Replit-Helium-Checkpoint-Created: true
This commit is contained in:
@@ -667,17 +667,19 @@ if [[ "\$T23_CODE" != "201" || -z "\$BOOTSTRAP_ID" || "\$BOOTSTRAP_ID" == "null"
|
||||
elif [[ "\$T23_STUB" != "true" ]]; then
|
||||
note SKIP "stubMode=false — skipping (requires DO_API_TOKEN for real provisioning)"
|
||||
SKIP=\$((SKIP+1))
|
||||
elif [[ -z "\$BOOTSTRAP_HASH" || "\$BOOTSTRAP_HASH" == "null" ]]; then
|
||||
note FAIL "stubMode=true but invoice.paymentHash missing — cannot stub-pay: body=\$T23_BODY"
|
||||
FAIL=\$((FAIL+1))
|
||||
else
|
||||
if [[ -n "\$BOOTSTRAP_HASH" && "\$BOOTSTRAP_HASH" != "null" ]]; then
|
||||
curl -s -X POST "\$BASE/api/dev/stub/pay/\$BOOTSTRAP_HASH" >/dev/null
|
||||
fi
|
||||
curl -s -X POST "\$BASE/api/dev/stub/pay/\$BOOTSTRAP_HASH" >/dev/null
|
||||
START_T23=\$(date +%s); T23_TIMEOUT=20
|
||||
T23_STATE=""; T23_MSG=""; T23_POLL_CODE=""
|
||||
T23_STATE=""; T23_MSG=""; T23_POLL_CODE=""; T23_POLL_ID=""
|
||||
while :; do
|
||||
T23_POLL=\$(curl -s -w "\\n%{http_code}" "\$BASE/api/bootstrap/\$BOOTSTRAP_ID")
|
||||
T23_POLL_BODY=\$(body_of "\$T23_POLL"); T23_POLL_CODE=\$(code_of "\$T23_POLL")
|
||||
T23_STATE=\$(echo "\$T23_POLL_BODY" | jq -r '.state' 2>/dev/null || echo "")
|
||||
T23_MSG=\$(echo "\$T23_POLL_BODY" | jq -r '.message' 2>/dev/null || echo "")
|
||||
T23_POLL_ID=\$(echo "\$T23_POLL_BODY" | jq -r '.bootstrapJobId' 2>/dev/null || echo "")
|
||||
NOW_T23=\$(date +%s); ELAPSED_T23=\$((NOW_T23 - START_T23))
|
||||
if [[ "\$T23_STATE" == "provisioning" || "\$T23_STATE" == "ready" ]]; then break; fi
|
||||
if (( ELAPSED_T23 > T23_TIMEOUT )); then break; fi
|
||||
@@ -685,11 +687,12 @@ else
|
||||
done
|
||||
if [[ "\$T23_POLL_CODE" == "200" \\
|
||||
&& ("\$T23_STATE" == "provisioning" || "\$T23_STATE" == "ready") \\
|
||||
&& -n "\$T23_MSG" && "\$T23_MSG" != "null" ]]; then
|
||||
note PASS "state=\$T23_STATE in \$ELAPSED_T23 s, message present, bootstrapJobId=\$BOOTSTRAP_ID"
|
||||
&& -n "\$T23_MSG" && "\$T23_MSG" != "null" \\
|
||||
&& "\$T23_POLL_ID" == "\$BOOTSTRAP_ID" ]]; then
|
||||
note PASS "state=\$T23_STATE in \$ELAPSED_T23 s, message present, bootstrapJobId=\$BOOTSTRAP_ID (echoed in poll)"
|
||||
PASS=\$((PASS+1))
|
||||
else
|
||||
note FAIL "code=\$T23_POLL_CODE state=\$T23_STATE elapsed=\${ELAPSED_T23}s body=\$T23_POLL_BODY"
|
||||
note FAIL "code=\$T23_POLL_CODE state=\$T23_STATE elapsed=\${ELAPSED_T23}s pollId=\$T23_POLL_ID (expected \$BOOTSTRAP_ID) body=\$T23_POLL_BODY"
|
||||
FAIL=\$((FAIL+1))
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user