faa65dde2f
Gelöschte Dateien werden beim Download ins Backup-Verzeichnis verschoben
(${LOCAL_PHOTO_DIR}-bak, ${LOCAL_DARKTABLE_DB_DIR}-bak) statt permanent
gelöscht. Upload verwendet --delete ohne Backup. Backups älter als 2 Jahre
werden automatisch bereinigt. Safeguard verhindert --delete bei leerem
Quellverzeichnis. validate_path prüft jetzt auch lokale Pfade.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
930 B
Bash
36 lines
930 B
Bash
# Gemeinsames Test-Setup
|
|
|
|
STUBS_DIR="$BATS_TEST_DIRNAME/stubs"
|
|
|
|
# Temporaere HOME anlegen
|
|
export HOME="$BATS_TMPDIR/home"
|
|
mkdir -p "$HOME/.config/darktable-sync"
|
|
mkdir -p "$HOME/.config/darktable"
|
|
mkdir -p "$HOME/.local/bin"
|
|
export CONFIG_DIR="$HOME/.config/darktable-sync"
|
|
|
|
create_valid_env() {
|
|
cat > "$CONFIG_DIR/.env" <<EOF
|
|
SERVER_USER=testuser
|
|
SERVER_SSH_PORT=22
|
|
SERVER_IP=192.168.1.100
|
|
SERVER_DB_DIR=/remote/db
|
|
SERVER_PHOTO_DIR=/remote/photos
|
|
LOCAL_DARKTABLE_DB_DIR=$HOME/.config/darktable
|
|
LOCAL_PHOTO_DIR=$HOME/Pictures
|
|
DARKTABLE_BIN=darktable
|
|
SYNC_BIN=$HOME/.local/bin/darktable_sync.sh
|
|
EOF
|
|
}
|
|
|
|
# Raeumt nach jedem Test auf (verhindert Lock- und Backup-Dir-Leakage zwischen Tests)
|
|
teardown() {
|
|
rm -rf "$CONFIG_DIR/sync.lock"
|
|
rm -rf "$HOME/Pictures-bak" "$HOME/.config/darktable-bak"
|
|
}
|
|
|
|
# Fuehrt ein Script mit dem Stubs-Verzeichnis vorne im PATH aus
|
|
run_with_stubs() {
|
|
run env PATH="$STUBS_DIR:$PATH" "$@"
|
|
}
|