pm2/test/bash/env-refresh.sh
2016-10-26 18:07:03 +02:00

91 lines
1.9 KiB
Bash

#!/usr/bin/env bash
SRC=$(cd $(dirname "$0"); pwd)
source "${SRC}/include.sh"
cd $file_path
echo -e "\033[1mENV REFRESH\033[0m"
#
# REFRESH with Restart via CLI
#
TEST_VARIABLE='hello1' $pm2 start env.js -o out-env.log --merge-logs --name "env"
>out-env.log
sleep 0.5
grep "hello1" out-env.log &> /dev/null
spec "should contain env variable"
TEST_VARIABLE='89hello89' $pm2 restart env --update-env
sleep 1.0
grep "89hello89" out-env.log &> /dev/null
spec "should contain refreshed environment variable"
>out-env.log
TEST_VARIABLE="CLUNEWSTER" $pm2 restart env
sleep 0.5
grep "89hello89" out-env.log &> /dev/null
spec "should not change environment (--skip-env)"
$pm2 delete all
#
# Cluster mode
#
>out-env.log
$pm2 start env.js -o out-env.log --merge-logs
sleep 0.5
grep "undefined" out-env.log &> /dev/null
spec "should contain nothing"
>out-env.log
TEST_VARIABLE="CLUSTER" $pm2 reload env --update-env
sleep 0.5
grep "CLUSTER" out-env.log &> /dev/null
spec "should contain CLUSTER"
>out-env.log
TEST_VARIABLE="CLUNEWSTER" $pm2 reload env
sleep 0.5
grep "CLUSTER" out-env.log &> /dev/null
spec "should contain not change environment (--skip-env)"
#
# REFRESH with Restart via JSON
#
$pm2 start env.json
>out-env.log
sleep 0.5
grep "YES" out-env.log &> /dev/null
spec "should contain env variable"
$pm2 restart env-refreshed.json
>out-env.log
sleep 0.5
grep '{"HEYYYY":true}' out-env.log &> /dev/null
spec "should contain refreshed env variable via json"
$pm2 start env-ecosystem.json --env production
>out-env.log
sleep 0.5
grep "No worries!" out-env.log &> /dev/null
spec "should use deploy.production.env.TEST_VARIABLE"
$pm2 kill
$pm2 l
NODE_PATH='/test' $pm2 start local_require.js
should 'should have loaded the right globalPaths' 'restart_time: 0' 1
$pm2 kill
$pm2 l
NODE_PATH='/test2' $pm2 start local_require.js -i 1
should 'should have loaded the right globalPaths' 'restart_time: 0' 1