mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
137 lines
4.9 KiB
Bash
137 lines
4.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
SRC=$(cd $(dirname "$0"); pwd)
|
|
source "${SRC}/../include.sh"
|
|
|
|
cd $file_path/serve
|
|
PORT=8081
|
|
PORT_2=8082
|
|
echo "################## PM2 SERVE ###################"
|
|
|
|
$pm2 serve --port $PORT
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://localhost:$PORT/ > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /"
|
|
success "should have served index file under /"
|
|
|
|
curl http://localhost:$PORT/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /index.html"
|
|
success "should have served index file under /index.html"
|
|
|
|
echo "Shutting down the server"
|
|
$pm2 delete all
|
|
|
|
curl http://localhost:$PORT/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 0 ] || fail "should be offline"
|
|
success "should be offline"
|
|
|
|
echo "testing SPA"
|
|
$pm2 serve . $PORT --spa
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://localhost:$PORT/ > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /index.html"
|
|
success "should have served index file under /index.html"
|
|
|
|
curl http://localhost:$PORT/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /index.html"
|
|
success "should have served index file under /index.html"
|
|
|
|
curl http://localhost:$PORT/other.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | wc -l`
|
|
[ $OUT -eq 2 ] || fail "should have served file under /other.html"
|
|
success "should have served file under /other.html"
|
|
|
|
curl http://localhost:$PORT/mangezdespommes/avecpepin/lebref > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /index.html"
|
|
success "should have served index file under /index.html"
|
|
|
|
curl http://localhost:$PORT/mangezdespommes/avecpepin/lebref/other.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | wc -l`
|
|
[ $OUT -eq 2 ] || fail "should have served file under /other.html"
|
|
success "should have served file under /other.html"
|
|
|
|
echo "Shutting down the server"
|
|
$pm2 delete all
|
|
|
|
echo "testing basic auth"
|
|
$pm2 serve . $PORT --basic-auth-username user --basic-auth-password pass
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://user:pass@localhost:$PORT/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served index file under /index.html"
|
|
success "should have served index file under /index.html"
|
|
|
|
echo "Shutting down the server"
|
|
$pm2 delete all
|
|
|
|
echo "Testing with static ecosystem"
|
|
|
|
$pm2 start ecosystem-serve.json
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://user:pass@localhost:8081/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should be listening on port 8081"
|
|
success "should be listening on port 8081"
|
|
|
|
curl http://user:pass@localhost:8081/mangezdesmangues/aupakistan > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should be listening on port 8081"
|
|
success "should be listening on port 8081"
|
|
|
|
echo "Shutting down the server"
|
|
$pm2 delete all
|
|
|
|
$pm2 serve . $PORT_2
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://localhost:$PORT_2/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should be listening on port $PORT_2"
|
|
success "should be listening on port $PORT_2"
|
|
|
|
node -e "require('semver').lt(process.versions.node, '6.0.0') ? process.exit(0) : process.exit(1)"
|
|
[ $? -eq 1 ] || exit 0
|
|
|
|
$pm2 delete all
|
|
|
|
$pm2 serve . $PORT_2 --name frontend
|
|
should 'should have started serving dir' 'online' 1
|
|
should 'should have custom name' 'frontend' 7
|
|
|
|
curl http://localhost:$PORT_2/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should be listening on port $PORT_2"
|
|
success "should be listening on port $PORT_2"
|
|
|
|
curl http://localhost:$PORT_2/yolo.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "your file doesnt exist" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should have served custom 404 file"
|
|
success "should have served custom 404 file"
|
|
|
|
$pm2 delete all
|
|
|
|
$pm2 start ecosystem.json
|
|
should 'should have started serving dir' 'online' 1
|
|
|
|
curl http://localhost:8081/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 1 ] || fail "should be listening on port 8081"
|
|
success "should be listening on port 8081"
|
|
|
|
$pm2 stop ecosystem.json
|
|
|
|
curl http://localhost:8081/index.html > /tmp/tmp_out.txt
|
|
OUT=`cat /tmp/tmp_out.txt | grep -o "good shit" | wc -l`
|
|
[ $OUT -eq 0 ] || fail "should be offline"
|
|
success "should be offline"
|