From adc34e0a9f24e239521f94b9dea55516fb529870 Mon Sep 17 00:00:00 2001 From: VinPropane Date: Mon, 25 May 2026 12:20:30 -0400 Subject: [PATCH] NEO-44: Fix Bruno collection ordering and interaction pre-request Remove gig-progression folder seq so defeat spine runs after ability-cast; run defeat spine at seq 31. Gather until node_depleted in interaction test so craft spine pollution does not break the depleted-node deny case. --- .../Get gig progression after defeat spine.bru | 2 +- bruno/neon-sprawl-server/gig-progression/folder.bru | 3 +-- .../interaction/Post interact depleted node deny.bru | 12 ++++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/bruno/neon-sprawl-server/gig-progression/Get gig progression after defeat spine.bru b/bruno/neon-sprawl-server/gig-progression/Get gig progression after defeat spine.bru index ce5a2d4..f5905a4 100644 --- a/bruno/neon-sprawl-server/gig-progression/Get gig progression after defeat spine.bru +++ b/bruno/neon-sprawl-server/gig-progression/Get gig progression after defeat spine.bru @@ -1,7 +1,7 @@ meta { name: GET gig progression after defeat spine (NEO-44) type: http - seq: 10 + seq: 31 } docs { diff --git a/bruno/neon-sprawl-server/gig-progression/folder.bru b/bruno/neon-sprawl-server/gig-progression/folder.bru index a9b58e8..26ae5fd 100644 --- a/bruno/neon-sprawl-server/gig-progression/folder.bru +++ b/bruno/neon-sprawl-server/gig-progression/folder.bru @@ -1,11 +1,10 @@ meta { name: Gig progression folder - seq: 1 } docs { NEO-44: read-only gig XP snapshot (combat defeat path — not E2.M2 skill XP). - Run order: Get gig progression → Get gig progression after defeat spine (~13s pre-request). + Run order (folder runs after ability-cast + combat-targets alphabetically): Get gig progression → Get gig progression after defeat spine (~13s pre-request). Defeat spine resets prototype target HP via __dev/combat-targets-fixture (same as combat-targets folder) and uses slot 2 to avoid cooldown pollution from earlier folders. Cross-link: bruno/neon-sprawl-server/ability-cast/ and combat-targets/ } diff --git a/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru b/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru index 0f9bc77..683d7e7 100644 --- a/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru +++ b/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru @@ -5,7 +5,7 @@ meta { } docs { - NEO-63: uses prototype_urban_bulk_delta (not alpha) so earlier interaction requests in this collection do not pre-deplete capacity. Pre-request exhausts the node (10 successful gathers), then this interact should deny with node_depleted. + NEO-63: uses prototype_urban_bulk_delta (not alpha) so earlier interaction requests in this collection do not pre-deplete capacity. Pre-request gathers until node_depleted (craft spine may consume one gather first). POST interact should deny with node_depleted. } script:pre-request { @@ -21,7 +21,7 @@ script:pre-request { }, { headers: { "Content-Type": "application/json" } }, ); - for (let i = 0; i < 10; i++) { + while (true) { const res = await axios.post( `${baseUrl}/game/players/${playerId}/interact`, { @@ -30,9 +30,13 @@ script:pre-request { }, { headers: { "Content-Type": "application/json" } }, ); - if (!res.data.allowed) { - throw new Error(`expected gather ${i + 1}/10 to succeed, got ${res.data.reasonCode}`); + if (res.data?.allowed === true) { + continue; } + if (res.data?.reasonCode === "node_depleted") { + break; + } + throw new Error(`expected gather to succeed or end with node_depleted, got ${JSON.stringify(res.data)}`); } }