inspector/webdriver.sh

57 lines
1.1 KiB
Bash
Executable File

#! /bin/sh
cd "$(dirname "$0")" || exit 1
. ./util.sh
. ./.env.sh
urlencode() {
string="$1"
i=1
len=${#string}
while [ $i -le $len ]; do
c=$(printf "%s" "$string" | cut -c $i)
printf '%%%02X' "'$c"
i=$((i + 1))
done
printf '\n'
}
report() {
curl -X POST --retry 3 "$API_URL/health-check/$API_KEY?rkid=$resource_kind_id&name=$(urlencode "$2")&status=$1" --data-raw "$3" >/dev/null 2>&1
}
ok() {
report 0 "$1" "$3"
printf '[OK] %s\n' "$3"
}
warn() {
report 1 "$1" "$3"
printf '[WARN] %s\n' "$3"
}
run_module() {
set -eu
. "$1"
printf '%s\n' "$name"
if [ "$available" -ne 1 ]; then
printf 'not available\n'
return
fi
resource_kind_id="$(curl -X POST --retry 3 "$API_URL/create-resource/$API_KEY/?slug=$(urlencode "$slug")&display_name=$(urlencode "$name")" 2>/dev/null)"
check
}
ls modules | while IFS= read -r module; do
[ -f "modules/$module" ] || continue
( run_module "modules/$module" )
if [ "$?" -ne 0 ]; then
printf 'Error running module: %s\n' "$module"
fi
printf '\n'
done