#!/usr/bin/env bash
# oauth-configdir-test — prüft, ob claude auf macOS die .credentials.json aus
# CLAUDE_CONFIG_DIR liest, wenn kein Keychain-Eintrag existiert.
# Ablauf: Backup → Keychain löschen → claude mit bereinigter Auth-Env →
# Nachkontrollen → Restore. Restore läuft auch bei fehlgeschlagenem Testlauf.
# Usage: oauth-configdir-test [pool]   (Default: Mx9Privat)
set -u
cd "$(dirname "$0")/.."

pool=${1:-Mx9Privat}
pooldir="$HOME/claude-pools/$pool"

bin/kc-backup || exit 1
bin/kc-delete || exit 1

echo "== Testlauf: Env ohne ANTHROPIC_API_KEY/CLAUDE_CODE_OAUTH_TOKEN, CLAUDE_CONFIG_DIR=$pooldir =="
env -u ANTHROPIC_API_KEY -u CLAUDE_CODE_OAUTH_TOKEN \
  CLAUDE_CONFIG_DIR="$pooldir" \
  "${CLAUDE_BIN:-$HOME/.local/bin/claude}" -p 'Antworte nur mit: OK' --model claude-sonnet-5
echo "EXIT: $?"

echo "== credentials-Datei nach Lauf (#10039: darf nicht gelöscht sein) =="
ls -la "$pooldir/.credentials.json"

echo "== Keychain nach Lauf (es darf KEIN Eintrag entstanden sein) =="
bin/kc-status

echo "== Restore =="
bin/kc-restore
rm "$HOME/.ssh/claude-keychain-backup.json"
bin/kc-status
