44186edbc5
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.
37 lines
1.2 KiB
JavaScript
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;
|