feat: wrapper to a single entrypoint to the stress test

This commit is contained in:
Sérgio Salgado 2021-01-14 17:17:22 +00:00 committed by Josh Harvey
parent 7794b91d20
commit 722a3d2853
4 changed files with 34 additions and 10 deletions

View file

@ -20,13 +20,14 @@ fi
rm -rf ./machines/*
# Create stress database
# sudo -u postgres psql postgres -c "drop database if exists lamassu_stress"
# sudo -u postgres psql postgres -c "create database lamassu_stress with template lamassu"
sudo -u postgres psql postgres -c "drop database if exists lamassu_stress"
sudo -u postgres psql postgres -c "create database lamassu_stress with template lamassu"
START=1
END=$1
for (( c=$START; c<=$END; c++ ))
do
echo "Creating machine $c out of $END..."
NUMBER=$c
mkdir -p ./machines/$NUMBER/
cp "$3"/data/client.sample.pem ./machines/$NUMBER/
@ -44,15 +45,15 @@ EOL
DEVICE_ID=`openssl x509 -outform der -in ./machines/$NUMBER/client.pem | sha256sum | cut -d " " -f 1`
# Update db config
sudo -u postgres psql -t -d lamassu -c "select data from user_config where type='config' order by id desc limit 1" > config.json
sudo -u postgres psql -t -d lamassu_stress -c "select data from user_config where type='config' order by id desc limit 1" > config.json
NEW_CONFIG=$(node ./utils/save-config.js $NUMBER $DEVICE_ID)
sudo -u postgres psql "lamassu" << EOF
sudo -u postgres psql "lamassu_stress" << EOF
insert into user_config(type, data, created, valid)
values('config', '$NEW_CONFIG', now(), 't')
EOF
# Add device on db
sudo -u postgres psql "lamassu" << EOF
sudo -u postgres psql "lamassu_stress" << EOF
insert into devices(device_id, cashbox, cassette1, cassette2, paired, display, created, name, last_online, location)
values ('$DEVICE_ID', 0, 0, 0, 't', 't', now(), $NUMBER, now(), '{}'::json)
EOF

View file

@ -1,4 +1,4 @@
const exec = require('child_process')
const exec = require('child_process').exec
/**
* Execute simple shell command (async wrapper).
@ -7,15 +7,25 @@ const exec = require('child_process')
*/
async function execCommand (cmd) {
return new Promise(function (resolve, reject) {
exec.exec(cmd, (err, stdout, stderr) => {
const proc = exec(cmd, (err, stdout, stderr) => {
if (err) {
reject(err)
} else {
console.log(stdout)
console.error(stderr)
resolve({ stdout, stderr })
}
})
proc.stdout.on('data', data => {
console.log(data)
})
proc.stderr.on('data', data => {
console.log(data)
})
proc.on('exit', code => {
console.log('child process exited with code ' + code.toString())
})
})
}