#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
tmpdir="$(mktemp -d "${TMPDIR:-/tmp}/globalserver-unregister-test.XXXXXX")"
trap 'rm -rf "$tmpdir"' EXIT

mkdir -p "$tmpdir/globalserver"
cp "$ROOT/unregister-region.sh" "$tmpdir/globalserver/unregister-region.sh"

if ! output="$(
  bash "$tmpdir/globalserver/unregister-region.sh" \
    azure \
    dev \
    japaneast \
    jpeast-byoc-wkly 2>&1
)"; then
  echo "expected unregistering an offline dev global region to succeed" >&2
  echo "$output" >&2
  exit 1
fi

grep -Fq \
  "Dev global observability is offline; no global registration remains to remove." \
  <<<"$output"

if output="$(
  bash "$tmpdir/globalserver/unregister-region.sh" \
    azure \
    staging \
    japaneast \
    jpeast-byoc-wkly 2>&1
)"; then
  echo "expected a missing staging global configuration to fail" >&2
  exit 1
fi

grep -Fq \
  "Error: Global configuration file does not exist:" \
  <<<"$output"

echo "globalserver unregister-region tests passed"
