Files
fission-src/test/tests/test_logging/test_function_logs.sh
T
VishalandGitHub a23f8acffc Tests for function update (#550)
Tests for updates to a function of new deployment executor type. Tests check for changes in the environment, scale, secrets etc. Also checks conversion of function executor type from new deployment to pool manager and vice versa
2018-03-28 20:32:04 +05:30

68 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
ROOT=$(dirname $0)/../..
fn=nodejs-logtest-$(date +%N)
function cleanup {
log "Cleanup route"
var=$(fission route list | grep $fn | awk '{print $1;}')
fission route delete --name $var
log "delete logfile"
rm "/tmp/logfile"
}
# Create a hello world function in nodejs, test it with an http trigger
log "Pre-test cleanup"
fission env delete --name nodejs || true
log "Creating nodejs env"
fission env create --name nodejs --image fission/node-env
trap "fission env delete --name nodejs" EXIT
log "Creating function"
fission fn create --name $fn --env nodejs --code log.js
trap "fission fn delete --name $fn" EXIT
log "Creating route"
fission route create --function $fn --url /$fn --method GET
trap cleanup EXIT
log "Waiting for router to catch up"
sleep 15
log "Doing 4 HTTP GETs on the function's route"
for i in 1 2 3 4
do
curl -s http://$FISSION_ROUTER/$fn
done
log "Grabbing logs, should have 4 calls in logs"
sleep 60
fission function logs --name $fn --detail > /tmp/logfile
size=$(wc -c </tmp/logfile)
if [ $size == 0 ]
then
fission function logs --name $fn --detail > /tmp/logfile
fi
log "---function logs---"
cat /tmp/logfile
log "------"
num=$(grep 'log test' /tmp/logfile | wc -l)
log $num logs found
if [ $num -ne 4 ]
then
log "Test Failed: expected 4, found $num logs"
exit 1
fi
log "All done."