Remove obsolete documentation files and consolidate into docs/ directory. Remove redundant test scripts (functionality will be folded into run.sh). Update AGENTS.md with SDLC workflow. Update PRD.md with tier0 architecture clarification. Update README.md to reflect clean directory structure. Changes: - Delete: BUILD-COMPLETE.md, BUILD-SUMMARY.md, RESUME.md, SESSION-CLOSED.md - Delete: FINAL-SECURITY-COMPLIANCE-REPORT.md, QUICK_START.md, JOURNAL.md - Move: TEST-COVERAGE.md, VERIFICATION-REPORT.md to docs/ - Delete: test-iso.sh, test-runner.sh (will fold into run.sh) - Update: AGENTS.md with SDLC workflow section - Update: PRD.md with tier0 architecture clarification and diagram - Update: README.md to reflect clean directory structure Root directory now contains only: AGENTS.md, README.md, PRD.md, Dockerfile, run.sh 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
64 lines
1.3 KiB
Bash
64 lines
1.3 KiB
Bash
#!/usr/bin/env bats
|
|
# Test helper setup for bats-core
|
|
|
|
# Load bats support libraries
|
|
load 'bats-support/load'
|
|
load 'bats-assert/load'
|
|
load 'bats-file/load'
|
|
|
|
# Common test variables
|
|
readonly TEST_TEMP_DIR=$(mktemp -d)
|
|
readonly PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
|
|
# Cleanup function
|
|
cleanup() {
|
|
rm -rf "$TEST_TEMP_DIR"
|
|
}
|
|
|
|
# Set up trap for cleanup
|
|
trap cleanup EXIT
|
|
|
|
# Common helper functions
|
|
create_test_wg_config() {
|
|
local config_file="$1"
|
|
cat > "$config_file" << EOF
|
|
[Interface]
|
|
PrivateKey = testPrivateKey1234567890abcdefghijklmnopqrstuvwxyz
|
|
Address = 10.0.0.2/24
|
|
DNS = 1.1.1.1
|
|
|
|
[Peer]
|
|
PublicKey = testPublicKey1234567890abcdefghijklmnopqrstuvwxyz
|
|
Endpoint = 192.168.1.100:51820
|
|
AllowedIPs = 0.0.0.0/0
|
|
PersistentKeepalive = 25
|
|
EOF
|
|
}
|
|
|
|
# Additional helper functions for missing assertions
|
|
assert_file_exists() {
|
|
if [[ ! -f "$1" ]]; then
|
|
echo "File does not exist: $1"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
assert_file_contains() {
|
|
local file="$1"
|
|
local content="$2"
|
|
|
|
if ! grep -q "$content" "$file"; then
|
|
echo "File '$file' does not contain '$content'"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
assert_regex() {
|
|
local haystack="$1"
|
|
local pattern="$2"
|
|
|
|
if ! echo "$haystack" | grep -qE "$pattern"; then
|
|
echo "Output does not match regex pattern '$pattern'"
|
|
return 1
|
|
fi
|
|
} |