etherpad-lite/tests/container/loadSettings.js
muxator 44186edbc5 tests: remove loadSettings.js for backend tests.
The old loadSettings.js was a way of customizing settings upon load, because
the Settings module did not offer this functionality. But it did not work well,
since all the default settings were not loaded.

Let's get rid of loadSettings.js for the bulk of the tests (the "backend"
specs). For the "container" specs, we'll keep it in place until/if we rewrite
Settings.js making it less brittle.
2020-04-14 03:36:13 +02:00

37 lines
1.2 KiB
JavaScript

/*
* ACHTUNG: this file is a hack used to load "settings.json.docker" instead of
* "settings.json", since in its present form the Settings module does
* not allow it.
* This is a remnant of an analogous file that was placed in
* <basedir>/tests/backend/loadSettings.js
*
* TODO: modify the Settings module:
* 1) no side effects on module load
* 2) write a factory method that loads a configuration file (taking the
* file name from the command line, a function argument, or falling
* back to a default)
*/
var jsonminify = require(__dirname+"/../../src/node_modules/jsonminify");
const fs = require('fs');
function loadSettings(){
var settingsStr = fs.readFileSync(__dirname+"/../../settings.json.docker").toString();
// try to parse the settings
try {
if(settingsStr) {
settingsStr = jsonminify(settingsStr).replace(",]","]").replace(",}","}");
var settings = JSON.parse(settingsStr);
// custom settings for running in a container
settings.ip = 'localhost';
settings.port = '9001';
return settings;
}
}catch(e){
console.error("whoops something is bad with settings");
}
}
exports.loadSettings = loadSettings;