#!/usr/bin/env bash
# check-grid.sh

set -e

HOST="localhost"
PORT="4444"
declare -a extra_args
if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
  BASIC_AUTH="$(echo -en "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64 -w0)"
  extra_args=(-H "Authorization: Basic ${BASIC_AUTH}")
fi

echoerr() { echo "$@" 1>&2; }

# process arguments
while [[ $# -gt 0 ]]; do
  case "$1" in
  --host)
    HOST=${2:-"localhost"}
    shift 2
    ;;
  --port)
    PORT=${2:-"4444"}
    shift 2
    ;;
  *)
    echoerr "Unknown argument: $1"
    exit 1
    ;;
  esac
done

curl -skSL --noproxy "*" "${extra_args[@]}" ${SE_SERVER_PROTOCOL:-"http"}://${HOST}:${PORT}/wd/hub/status | jq -r '.value.ready' | grep -q "true" || exit 1