test: add BATS test suite with 50 tests

Covers arg parsing, version comparison, audit phase (git config,
signing, SSH), apply phase (settings, SSH directives, url rewrite),
signing key detection (standard/custom/tilde/sk-preference),
allowed signers, -y mode, backup, and end-to-end idempotency.
All tests run in isolated HOME to avoid touching real config.

Closes: #6

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Flo
2026-03-30 23:10:57 +02:00
parent da2ffea132
commit 5e8a34ef68
6 changed files with 705 additions and 0 deletions

5
test/run.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Run the BATS test suite
set -o errexit
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
"${SCRIPT_DIR}/libs/bats-core/bin/bats" "${SCRIPT_DIR}/git-harden.bats" "$@"