test: stabilize heartbeat cleanup for tsx update

Co-authored-by: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Nicky LeachandPaperclip committed 2026-07-14 20:08:22 +00:00
1 parent 931eec3fbf
commit dd3233971b
5 files changed
+40 -28

No files matched your search

+1 -1
View File
@@ -59,7 +59,7 @@
},
"devDependencies": {
"@types/node": "^22.19.21",
"tsx": "^4.22.4",
"tsx": "^4.23.1",
"typescript": "^5.7.3"
}
}
+1 -1
View File
@@ -52,7 +52,7 @@
"devDependencies": {
"@types/node": "^22.19.21",
"drizzle-kit": "^0.31.10",
"tsx": "^4.22.4",
"tsx": "^4.23.1",
"typescript": "^5.7.3",
"vitest": "^4.1.8"
}
+1 -1
View File
@@ -91,7 +91,7 @@
"@types/ws": "^8.18.1",
"cross-env": "^10.1.0",
"supertest": "^7.0.0",
"tsx": "^4.22.4",
"tsx": "^4.23.1",
"typescript": "^5.7.3",
"vite": "^6.1.0",
"vitest": "^4.1.8"
@@ -1,19 +1,23 @@
import { randomUUID } from "node:crypto";
import { and, eq, sql } from "drizzle-orm";
import { and, eq } from "drizzle-orm";
import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest";
import {
activityLog,
agents,
agentWakeupRequests,
agentRuntimeState,
budgetPolicies,
companies,
companyMemberships,
companySkills,
costEvents,
createDb,
executionWorkspaces,
heartbeatRunEvents,
heartbeatRuns,
issueComments,
issueRelations,
issueTreeHoldMembers,
issueTreeHolds,
issues,
projects,
@@ -103,7 +107,26 @@ describeEmbeddedPostgres("heartbeat issue graph liveness escalation", () => {
await new Promise((resolve) => setTimeout(resolve, 50));
}
await new Promise((resolve) => setTimeout(resolve, 50));
await db.execute(sql.raw(`TRUNCATE TABLE "companies" CASCADE`));
await db.delete(activityLog);
await db.delete(heartbeatRunEvents);
await db.delete(costEvents);
await db.delete(workspaceOperations);
await db.delete(issueComments);
await db.delete(issueTreeHoldMembers);
await db.delete(issueTreeHolds);
await db.delete(issueRelations);
await db.delete(issues);
await db.delete(executionWorkspaces);
await db.delete(projectWorkspaces);
await db.delete(projects);
await db.delete(heartbeatRuns);
await db.delete(agentWakeupRequests);
await db.delete(agentRuntimeState);
await db.delete(budgetPolicies);
await db.delete(agents);
await db.delete(companyMemberships);
await db.delete(companySkills);
await db.delete(companies);
await instanceSettingsService(db).updateExperimental({
enableIssueGraphLivenessAutoRecovery: false,
enableIsolatedWorkspaces: false,
@@ -91,6 +91,15 @@ describeEmbeddedPostgres("heartbeat bounded retry scheduling", () => {
}, 20_000);
afterEach(async () => {
await cleanupRetryFixture();
});
afterAll(async () => {
unregisterServerAdapter(PROVIDER_QUOTA_TEST_ADAPTER);
await tempDb?.cleanup();
});
async function cleanupRetryFixture() {
await db.delete(activityLog);
await db.delete(heartbeatRunEvents);
await db.delete(environmentLeases);
@@ -98,7 +107,6 @@ describeEmbeddedPostgres("heartbeat bounded retry scheduling", () => {
await db.delete(issues);
await db.delete(executionWorkspaces);
await db.delete(projects);
await db.delete(activityLog);
await db.delete(heartbeatRunEvents);
await db.delete(heartbeatRuns);
await db.delete(agentWakeupRequests);
@@ -107,12 +115,7 @@ describeEmbeddedPostgres("heartbeat bounded retry scheduling", () => {
await db.delete(agents);
await db.delete(companySkills);
await db.delete(companies);
});
afterAll(async () => {
unregisterServerAdapter(PROVIDER_QUOTA_TEST_ADAPTER);
await tempDb?.cleanup();
});
}
async function seedRetryFixture(input: {
runId: string;
@@ -1445,16 +1448,7 @@ describeEmbeddedPostgres("heartbeat bounded retry scheduling", () => {
issueId: budgetBlocked.issueId,
});
await db.delete(budgetPolicies);
await db.delete(issueRelations);
await db.delete(issues);
await db.delete(heartbeatRunEvents);
await db.delete(heartbeatRuns);
await db.delete(agentWakeupRequests);
await db.delete(agentRuntimeState);
await db.delete(agents);
await db.delete(companySkills);
await db.delete(companies);
await cleanupRetryFixture();
const dependencyBlocked = await seedMaxTurnFixture({ now: new Date("2026-04-20T17:00:00.000Z") });
const blockerId = randomUUID();
@@ -2116,12 +2110,7 @@ describeEmbeddedPostgres("heartbeat bounded retry scheduling", () => {
.then((rows) => rows[0] ?? null);
expect((wakeupRequest?.payload as Record<string, unknown> | null)?.codexTransientFallbackMode).toBe(expectedMode);
await db.delete(heartbeatRunEvents);
await db.delete(heartbeatRuns);
await db.delete(agentWakeupRequests);
await db.delete(agents);
await db.delete(companySkills);
await db.delete(companies);
await cleanupRetryFixture();
}
});