Files
myDrive/tests/utils/express-app.js
T
oxmc 22af2caec7
Release Please / release-please (push) Has been cancelled
Docker Build and Push (Development) / build-and-push-dev (push) Has been cancelled
feat: default to SQLite engine, disable Mongo service by default in compose
Mongo services in both compose files are now commented out (with instructions
to re-enable) since DB_ENGINE now defaults to sqlite - no separate database
container required out of the box. db-data volume is mounted into the app
service (not just mongo) so it can hold the SQLite file too.

Also fixes a require-order bug in tests/utils/express-app.js: routers were
required (eagerly instantiating DB singletons via dbFactory) before the test
env file was loaded, so DB_ENGINE from .env.test was silently never applied -
it only worked before because the old hardcoded default happened to be mongo.
2026-07-05 04:48:54 -07:00

53 lines
1.6 KiB
JavaScript

// NODE_ENV + env variables must load before any router/service is required below -
// those transitively instantiate DB singletons via dbFactory at require-time
// (getFileDB()/getUserDB()/etc. read env.dbEngine as soon as their module loads),
// so DB_ENGINE from .env.test would otherwise never take effect.
process.env.NODE_ENV = "test";
const getEnviromentVariables = require("../../dist-backend/enviroment/get-env-variables");
getEnviromentVariables();
const express = require("express");
// const requestIp = require("request-ip");
const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
const helmet = require("helmet");
const compression = require("compression");
const busboy = require("connect-busboy");
const userRouter =
require("../../dist-backend/express-routers/user-router").default;
const fileRouter =
require("../../dist-backend/express-routers/file-router").default;
const folderRouter =
require("../../dist-backend/express-routers/folder-router").default;
const env = require("../../dist-backend/enviroment/env");
const middlewareErrorHandler =
require("../../dist-backend/middleware/utils/middleware-utils").middlewareErrorHandler;
const app = express();
app.use(cookieParser(env.passwordCookie));
app.use(helmet());
app.use(compression());
app.use(express.json());
app.use(bodyParser.json({ limit: "50mb" }));
app.use(
bodyParser.urlencoded({
limit: "50mb",
extended: true,
parameterLimit: 50000,
})
);
// app.use(requestIp.mw());
app.use(
busboy({
highWaterMark: 2 * 1024 * 1024,
})
);
app.use(userRouter, fileRouter, folderRouter);
app.use(middlewareErrorHandler);
module.exports = app;