32 lines
2.1 KiB
TypeScript
32 lines
2.1 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import { openAgentRunStoreFromEnv } from "../../mgr/store.js";
|
|
import { postgresMigrationContract } from "../../mgr/postgres-store.js";
|
|
import { redactText } from "../../common/redaction.js";
|
|
import { AgentRunError } from "../../common/errors.js";
|
|
import type { SelfTestCase } from "../harness.js";
|
|
|
|
const selfTest: SelfTestCase = async () => {
|
|
assert.equal(redactText("Authorization: Bearer abc123"), "Authorization: Bearer REDACTED");
|
|
assert.equal(redactText('{"token":"test-token-material"}').includes("test-token-material"), false);
|
|
await assert.rejects(
|
|
() => openAgentRunStoreFromEnv({}),
|
|
(error) => error instanceof AgentRunError && error.failureKind === "infra-failed" && error.message.includes("DATABASE_URL is required"),
|
|
);
|
|
const postgresContract = postgresMigrationContract();
|
|
assert.equal(postgresContract.latestMigrationId, "008_v01_dsflash_go_backend_profile");
|
|
assert.equal((postgresContract.migrationIds as string[]).includes("008_v01_dsflash_go_backend_profile"), true);
|
|
assert.ok(typeof (postgresContract.checksums as Record<string, string>)["008_v01_dsflash_go_backend_profile"] === "string" && (postgresContract.checksums as Record<string, string>)["008_v01_dsflash_go_backend_profile"].length > 0);
|
|
assert.equal((postgresContract.checksums as Record<string, string>)["002_v01_backend_profiles"], "928b5c490cc4539cb64ecef34784557601b2724fa2870570f16a53576804e49c");
|
|
assert.ok(Array.isArray(postgresContract.requiredTables));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_schema_migrations"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_runs"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_events"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_sessions"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_runner_jobs"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_queue_tasks"));
|
|
assert.ok(postgresContract.requiredTables.includes("agentrun_queue_read_cursors"));
|
|
return { name: "redaction-postgres", tests: ["redaction", "postgres-store-contract"] };
|
|
};
|
|
|
|
export default selfTest;
|