feat(mcp): подготовить сервер и доступ к приёмке
This commit is contained in:
commit
bf3d50e1ff
3835 files changed
+537122
No files matched your search
@@ -0,0 +1,40 @@
|
||||
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-"))
|
||||
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: "owned-routing@example.test", 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, 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()
|
||||
}
|
||||
Reference in new issue
Block a user