tokenbridge/monitor-e2e/run-tests.sh
Przemyslaw Rzad f1d24f0e2c
Monitor - E2E (#112)
* Monitor in e2e

* Cleanup trap

* Exposing monitor port

* Cleanup script

* Exposing monitor port

* Test cases

* Silent curl

* Introduced monitor-e2e into CI

* only monitor

* machine executor

* Readme

* Echoing test cases

* Revert "only monitor"

bb6c8baf06029a1d6ea86cf62e8112ef78b8eaf4

* Negated commands in a subshell
2019-06-27 09:57:45 +02:00

64 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
cd $(dirname $0)
set -e # exit when any command fails
##### Helper Functions #####
function cleanup {
../e2e-commons/down.sh
}
trap cleanup EXIT
FILES=(getBalances.json validators.json eventsStats.json alerts.json)
check_files_exist() {
rc=0
for f in "${FILES[@]}"; do
command="test -f responses/$f"
(docker-compose -f ../e2e-commons/docker-compose.yml exec monitor /bin/bash -c "$command") || rc=1
done
return $rc
}
##### Initialization #####
../e2e-commons/up.sh oracle deploy monitor
##### Test cases #####
echo "Test case - CheckWorker scripts should work and create files in responses/ directory"
(! check_files_exist)
docker-compose -f ../e2e-commons/docker-compose.yml exec monitor /bin/bash -c "node checkWorker.js"
docker-compose -f ../e2e-commons/docker-compose.yml exec monitor /bin/bash -c "node checkWorker2.js"
check_files_exist
echo "Test case - Web Interface should return balances"
OUTPUT=$(curl -s http://localhost:3003/)
grep -q home <<< "$OUTPUT"
grep -q foreign <<< "$OUTPUT"
(! grep -q error <<< "$OUTPUT")
echo "Test case - Web Interface should return validators"
OUTPUT=$(curl -s http://localhost:3003/validators)
grep -q home <<< "$OUTPUT"
grep -q foreign <<< "$OUTPUT"
(! grep -q error <<< "$OUTPUT")
echo "Test case - Web Interface should return eventsStats"
OUTPUT=$(curl -s http://localhost:3003/eventsStats)
grep -q lastChecked <<< "$OUTPUT"
(! grep -q error <<< "$OUTPUT")
echo "Test case - Web Interface should return alerts"
OUTPUT=$(curl -s http://localhost:3003/alerts)
grep -q lastChecked <<< "$OUTPUT"
(! grep -q error <<< "$OUTPUT")
##### Cleanup #####
cleanup