diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..db93e716 --- /dev/null +++ b/.env.sample @@ -0,0 +1 @@ +LAMASSU_DB=DEV \ No newline at end of file diff --git a/.gitignore b/.gitignore index 78852c81..f5b53d44 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ terraform.* .terraform db.json +.env diff --git a/lib/options-loader.js b/lib/options-loader.js index 37605be5..1b6f09d0 100644 --- a/lib/options-loader.js +++ b/lib/options-loader.js @@ -2,8 +2,17 @@ const fs = require('fs') const path = require('path') const os = require('os') const argv = require('minimist')(process.argv.slice(2)) +const _ = require('lodash/fp') -const STRESS_TEST_DB = 'psql://postgres:postgres123@localhost/lamassu_stress' +require('dotenv').config() + +const dbPath = !process.env.LAMASSU_DB ? 'PROD' : process.env.LAMASSU_DB +const dbMapping = psqlConf => ({ + STRESS_TEST: _.replace('lamassu', 'lamassu_stress', psqlConf), + RELEASE: _.replace('lamassu', 'lamassu_release', psqlConf), + DEV: _.replace('lamassu', 'lamassu', psqlConf), + PROD: _.replace('lamassu', 'lamassu', psqlConf) +}) /** * @return {{path: string, opts: any}} @@ -32,9 +41,7 @@ function load () { opts: JSON.parse(fs.readFileSync(globalConfigPath)) } - if (argv.testDB) { - config.opts.postgresql = STRESS_TEST_DB - } + config.opts.postgresql = dbMapping(config.opts.postgresql)[dbPath] return config } catch (_) { @@ -45,9 +52,7 @@ function load () { opts: JSON.parse(fs.readFileSync(homeConfigPath)) } - if (argv.testDB) { - config.opts.postgresql = STRESS_TEST_DB - } + config.opts.postgresql = dbMapping(config.opts.postgresql)[dbPath] return config } catch (_) { diff --git a/test/stress/test-server.js b/test/stress/test-server.js index 56a7811e..8d9b1f5b 100644 --- a/test/stress/test-server.js +++ b/test/stress/test-server.js @@ -3,5 +3,5 @@ const cmd = require('./scripts') process.on('message', async (msg) => { console.log('Message from parent:', msg) - await cmd.execCommand(`node --prof ../../bin/lamassu-server --mockSms --testDB`) + await cmd.execCommand(`node --prof LAMASSU_DB=STRESS_TEST ../../bin/lamassu-server --mockSms`) })