#!/usr/bin/env bash
set -euo pipefail
ROOT=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../../.." && pwd)
SCRIPT="$ROOT/tools/k3s/phase0-discover.sh"
TMP=$(mktemp -d)
trap 'rm -rf "$TMP"' EXIT

bash -n "$SCRIPT"
before=$(/usr/bin/git -C "$ROOT" status --porcelain=v1)
"$SCRIPT" --repo-root "$ROOT" --output-dir "$TMP/receipt" --local-only --skip-kubectl --quick --no-archive >"$TMP/stdout.txt"

after=$(/usr/bin/git -C "$ROOT" status --porcelain=v1)
[[ "$before" == "$after" ]]
[[ -s "$TMP/receipt/receipt.json" ]]
[[ -s "$TMP/receipt/SUMMARY.txt" ]]
[[ -s "$TMP/receipt/SHA256SUMS" ]]
python3 - "$TMP/receipt/receipt.json" <<'PY'
import json, sys
r=json.load(open(sys.argv[1],encoding="utf-8"))
assert r["schema_version"] == 1
assert r["security"]["secret_data_collected"] is False
assert r["security"]["k3s_token_contents_collected"] is False
assert r["counts"]["commands"] >= 6
PY
printf 'phase0-discover tests passed\n'
