#!/bin/bash # Step for the BUILD_FACTORY running the 'test.taler.net' site. set -eu if test -z "${DEPLOYMENT}"; then echo Please provide DEPLOYMENT env var: 'test' or 'demo' exit 1 fi DOMAIN="taler.net" # Give services time to start sleep 5 error_stringify () { case $1 in 28) echo "connection timed out" ;; 7) echo "failed to connect to host" ;; 0) echo "successful" ;; *) echo "unknown, see curl man page" ;; esac } error_fmt="%s (http status code: %s)/(curl condition: %s - %s)\n" echo -n "Check exchange..." URL="https://exchange.${DEPLOYMENT}.${DOMAIN}/" http_status_code=$(curl \ -s "$URL" -o /dev/null \ -w "%{http_code}") if ! test 200 = $http_status_code; then printf "'%s' failed\n" $URL printf "$error_fmt" \ "Exchange did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check merchant backend..." URL="https://backend.${DEPLOYMENT}.${DOMAIN}/" http_status_code=$(curl \ -s $URL \ -o /dev/null \ -w "%{http_code}") if ! test 200 = $http_status_code; then printf "'%s' failed\n" $URL printf "$error_fmt" \ "Merchant backend did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check blog..." URL="https://shop.${DEPLOYMENT}.${DOMAIN}/" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 302 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Blog did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check survey..." URL="https://survey.${DEPLOYMENT}.${DOMAIN}/" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 302 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Survey site did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check donations..." URL="https://donations.${DEPLOYMENT}.${DOMAIN}/" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 302 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Donations shop did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check bank Web UI..." URL="https://bank.${DEPLOYMENT}.${DOMAIN}/webui/" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 200 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Bank did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check libEufin (Sandbox)..." URL="https://bank.${DEPLOYMENT}.${DOMAIN}/demobanks/default/integration-api/config" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 200 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Bank did not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK echo -n "Check landing page..." URL="https://${DEPLOYMENT}.${DOMAIN}/en/index.html" http_status_code=$(curl \ -s $URL -o /dev/null \ -w "%{http_code}") if ! test 200 = $http_status_code; then printf "%s failed\n" $URL printf "$error_fmt" \ "Landing page not restart correctly" \ $http_status_code $? "$(error_stringify $?)" exit 1 fi echo OK