From dd5aa710b24620accd42adb2743472c215b85dd8 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 4 Nov 2026 11:52:04 -0600 Subject: [PATCH] test: assemble both rolling supervisor requests before live runs Co-Authored-By: Paperclip --- tests/runner-e2e/server-restart-request.test.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/runner-e2e/server-restart-request.test.ts b/tests/runner-e2e/server-restart-request.test.ts index cf510935884..e56a7361b38 100644 --- a/tests/runner-e2e/server-restart-request.test.ts +++ b/tests/runner-e2e/server-restart-request.test.ts @@ -19,6 +19,17 @@ afterEach(async () => { await rm(root, { recursive: true, force: true }); }); +it.each(["rolling-web-deployment", "rolling-web-deployment-warm"])("accepts the assembled %s restart request", async suite => { + const execution = runnerMatrix.find(row => row.suite.id === suite && row.profile.id === "runner-codex")!; + const recoveryBinding = { companyId: "11111111-1111-4111-8111-111111111111", + issueId: "22222222-2222-4222-8222-222222222222", runId: "33333333-3333-4333-8333-333333333333" }; + await writeFile(requestPath, JSON.stringify({ requestId: "rolling-request", rollingDeployment: true, + discardControllerCache: true, controllerOutage: controllerOutageForExecution(execution, {}), recoveryBinding })); + const request = await readRestartRequest(requestPath, [execution.id]); + expect(request).toMatchObject({ rollingDeployment: true, discardControllerCache: true, recoveryBinding }); + expect(request).not.toHaveProperty("controllerOutage"); +}); + const cells = ["everyday-workflows", "daytona-restart-continuity"].flatMap(suite => ["codex", "acpx"].map(provider => { const execution = runnerMatrix.find(row => row.suite.id === suite && row.task.id === "recover-controller"