45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
const path = require("node:path");
|
|
|
|
function buildControlPlaneTestEnv(dataRoot, baseEnv = process.env) {
|
|
const backend = String(baseEnv.MNOTE_SMOKE_CONTROL_PLANE_BACKEND || "libsql-local").trim();
|
|
if (!backend) {
|
|
throw new Error("MNOTE_SMOKE_CONTROL_PLANE_BACKEND 不能为空");
|
|
}
|
|
|
|
const env = {
|
|
MNOTE_CONTROL_PLANE_BACKEND: backend,
|
|
};
|
|
|
|
if (backend === "sqlite") {
|
|
env.MNOTE_CONTROL_PLANE_DB_PATH =
|
|
baseEnv.MNOTE_SMOKE_CONTROL_PLANE_DB_PATH || path.join(dataRoot, "control-plane.sqlite3");
|
|
return env;
|
|
}
|
|
|
|
if (backend === "libsql-local" || backend === "turso-local" || backend === "turso") {
|
|
env.MNOTE_TURSO_LOCAL_PATH =
|
|
baseEnv.MNOTE_SMOKE_TURSO_LOCAL_PATH || path.join(dataRoot, "control-plane-libsql.db");
|
|
return env;
|
|
}
|
|
|
|
if (backend === "turso-local-replica" || backend === "turso-remote-replica") {
|
|
env.MNOTE_TURSO_LOCAL_REPLICA_PATH =
|
|
baseEnv.MNOTE_SMOKE_TURSO_LOCAL_REPLICA_PATH
|
|
|| baseEnv.MNOTE_TURSO_LOCAL_REPLICA_PATH
|
|
|| path.join(dataRoot, "control-plane-replica.db");
|
|
return env;
|
|
}
|
|
|
|
if (backend === "turso-remote" || backend === "turso-synced") {
|
|
return env;
|
|
}
|
|
|
|
throw new Error(`Unsupported MNOTE_SMOKE_CONTROL_PLANE_BACKEND: ${backend}`);
|
|
}
|
|
|
|
module.exports = {
|
|
buildControlPlaneTestEnv,
|
|
};
|