Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions runtime/tests/runtime-signing.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -471,15 +471,28 @@ test("full chain clean -> summarize -> classify verifies with schema using parti

async function verifyReceiptWithTimeout(receipt) {
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 5000);
const timeout = setTimeout(() => controller.abort(), 10000);

try {
const res = await fetch(`${srv.base}/verify?schema=1`, {
async function postVerify() {
return fetch(`${srv.base}/verify?schema=1`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify(receipt),
signal: controller.signal,
});
}

try {
let res = await postVerify();
console.log("[chain] verify response status", res.status);

if (res.status === 202) {
console.log("validator warming");
await new Promise((resolve) => setTimeout(resolve, 1200));
res = await postVerify();
console.log("[chain] verify response status", res.status);
}

const text = await res.text();
let json;

Expand All @@ -489,7 +502,7 @@ test("full chain clean -> summarize -> classify verifies with schema using parti
json = null;
}

if (!res.ok && res.status !== 202) {
if (!res.ok) {
throw new Error(`HTTP ${res.status}: ${text}`);
}

Expand Down Expand Up @@ -526,20 +539,9 @@ test("full chain clean -> summarize -> classify verifies with schema using parti
assert.equal(finalReceipt.x402.entry, "x402://classifyagent.eth/classify/v1.1.0");

console.log("[chain] before verify request");
let verifyAttempt = await verifyReceiptWithTimeout(finalReceipt);
const verifyAttempt = await verifyReceiptWithTimeout(finalReceipt);
console.log("[chain] after verify response", verifyAttempt.res.status, verifyAttempt.json ?? verifyAttempt.text);

if (
verifyAttempt.res.status === 202
&& verifyAttempt.json?.reason === "validator_not_warmed_yet"
) {
console.log("[chain] verify warmup 202 response", verifyAttempt.json);
await new Promise((resolve) => setTimeout(resolve, 1200));
console.log("[chain] before verify request retry");
verifyAttempt = await verifyReceiptWithTimeout(finalReceipt);
console.log("[chain] after verify response retry", verifyAttempt.res.status, verifyAttempt.json ?? verifyAttempt.text);
}

const verifyRes = verifyAttempt.res;
const verifyJson = verifyAttempt.json;

Expand Down
Loading