Add tests for auto-injected VQS header injection#1099
Conversation
Tests cover: - Workflow payload -> x-workflow-run-id header - Step payload -> x-workflow-run-id + x-workflow-step-id headers - Health check payload -> no workflow headers - Caller headers override auto-injected headers - Delayed re-enqueue inherits headers for both payload types Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests▲ Vercel Production (1 failed)nextjs-turbopack (1 failed):
🌍 Community Worlds (46 failed)mongodb (1 failed):
turso (45 failed):
Details by Category❌ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
✅ 📋 Other
❌ Some E2E test jobs failed:
Check the workflow run for details. |
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Nitro | Express workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Nitro | Express workflow with 25 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 50 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.all with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.race with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive unit tests for the getHeadersFromPayload function introduced in PR #1098, which auto-injects workflow and step ID headers into VQS queue messages. The tests verify that headers are correctly extracted from queue payloads and propagated through both the initial queue() call and the delayed re-enqueue path in createQueueHandler.
Changes:
- Added 6 new test cases covering workflow payload header injection, step payload header injection, health check payloads (no headers), caller header override precedence, and delayed re-enqueue scenarios for both workflow and step payloads
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
getHeadersFromPayloadin@workflow/world-vercelqueue()path: workflow payloads getx-workflow-run-id, step payloads get bothx-workflow-run-idandx-workflow-step-id, health checks get no workflow headerscreateQueueHandlerdelayed re-enqueue path inherits headers for both workflow and step payloadsTest plan
pnpm vitest run src/queue.test.ts— 17/17 passing🤖 Generated with Claude Code