feat: add optional MongoDB replica deployment (#765)

This commit is contained in:
Thomas Durieux
2026-07-30 02:28:19 +02:00
committed by GitHub
parent a8733af4f4
commit debd83c079
11 changed files with 512 additions and 7 deletions
+38
View File
@@ -0,0 +1,38 @@
require("ts-node/register/transpile-only");
const { expect } = require("chai");
const config = require("../src/config").default;
const { getMongoUrl } = require("../src/server/database");
describe("MongoDB connection configuration", function () {
const original = {
MONGODB_URI: config.MONGODB_URI,
DB_USERNAME: config.DB_USERNAME,
DB_PASSWORD: config.DB_PASSWORD,
DB_HOSTNAME: config.DB_HOSTNAME,
};
afterEach(function () {
Object.assign(config, original);
});
it("uses a complete replica-set URI when configured", function () {
const uri =
"mongodb://user:password@mongo-primary.internal:27017/production" +
"?authSource=admin&replicaSet=rs0&w=majority";
config.MONGODB_URI = uri;
expect(getMongoUrl()).to.equal(uri);
});
it("retains the existing single-node connection fallback", function () {
config.MONGODB_URI = "";
config.DB_USERNAME = "user";
config.DB_PASSWORD = "password";
config.DB_HOSTNAME = "mongodb";
expect(getMongoUrl()).to.equal(
"mongodb://user:password@mongodb:27017/production"
);
});
});