44 lines
2.9 KiB
TypeScript
44 lines
2.9 KiB
TypeScript
import { MIGRATION_MANIFEST } from "../../db/migration-manifest.js"
|
|
/** Exclusive owned SQL/localhost acceptance. Genuine scoped runtime produces
|
|
* CONFIG_APPLIED; only persistent profile authority is a synthetic fixture. */
|
|
import assert from "node:assert/strict"
|
|
import { basename, dirname, isAbsolute, resolve } from "node:path"
|
|
|
|
assert.equal(process.env.MMAPP_OWN_ROUTING_FORWARD_ROUNDS, "true")
|
|
assert.equal(process.env.NODE_ENV, "test")
|
|
const target = new URL(process.env.DATABASE_URL ?? "")
|
|
assert(["postgres:", "postgresql:"].includes(target.protocol))
|
|
assert.equal(target.hostname, "127.0.0.1"); assert.equal(target.username, "mcp_test")
|
|
assert(target.password); assert.equal(target.pathname, "/postgres")
|
|
assert(Number.isInteger(Number(target.port)) && Number(target.port) > 0 && Number(target.port) <= 65535)
|
|
assert.equal(target.search, ""); assert.equal(target.hash, "")
|
|
assert(process.env.MCP_STATE_DIR && isAbsolute(process.env.MCP_STATE_DIR))
|
|
assert.equal(basename(resolve(process.env.MCP_STATE_DIR)), "state")
|
|
assert(basename(dirname(resolve(process.env.MCP_STATE_DIR))).startsWith("mm-mcp-test-"))
|
|
const originalEffects = process.env.MMAPP_OWN_ROUTING_ORIGINAL_EFFECTS === "true"
|
|
assert(!(originalEffects && process.env.MMAPP_OWN_ROUTING_WORKER_REPRO === "true"), "Owned effect acceptance cannot mix with the worker repro profile")
|
|
process.env.AUTH_REQUIRED = "true"
|
|
process.env.AUTH_JWT_SECRET = "owned-routing-forward-rounds-acceptance-secret"
|
|
process.env.AUTH_ISSUER = "https://owned-routing-forward-rounds.test"
|
|
|
|
const { pool, closePool } = await import("../../db/index.js")
|
|
const { applySqlMigrations } = await import("../../db/migrate.js")
|
|
const { updateMcpSettings } = await import("./store.js")
|
|
const actor = { id: "owned-routing-forward-rounds-owner", email: "[email protected]", name: "Owned routing forward rounds",
|
|
apps: ["mm"], permissions: ["mm:settings:admin", "mm:network:admin", "mm:filters:admin", "mm:servers:admin"], expiresAt: Date.now() + 3600000 }
|
|
try {
|
|
await applySqlMigrations(pool)
|
|
assert.equal(Number((await pool.query("SELECT count(*) AS n FROM schema_migrations")).rows[0].n), MIGRATION_MANIFEST.length)
|
|
assert.equal(Number((await pool.query("SELECT count(*) AS n FROM servers")).rows[0].n), 0)
|
|
await updateMcpSettings({ enabled: true }, actor)
|
|
if(process.env.MMAPP_OWN_ROUTING_WORKER_REPRO==="true") {
|
|
console.log("Worker fixture repro:",await (await import("./routing-worker-fixture-isolation.sql-helper.js")).acceptRoutingWorkerFixtureIsolation(actor))
|
|
}
|
|
const result = await (await import("./routing-community-scoped-acceptance.js")).acceptScopedRouteCommunitySwitch(actor,
|
|
originalEffects ? { originalEffectsOnly: true } : process.env.MMAPP_OWN_ROUTING_WORKER_REPRO==="true"?{}:{ forwardRoundsOnly: true })
|
|
assert.equal(result.accepted, true)
|
|
} finally {
|
|
await (await import("../../services/scheduler.js")).stopSchedulerForDatabaseOperation()
|
|
await closePool()
|
|
}
|