#!/bin/sh set -eu script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) test_dir=$(mktemp -d) trap 'rm -rf "$test_dir"' EXIT mkdir -p "$test_dir/bin" printf '%s\n' '#!/bin/sh' 'exit 0' > "$test_dir/bin/docker" chmod +x "$test_dir/bin/docker" printf '%s\n' 'fake dump' > "$test_dir/backup.dump" PATH="$test_dir/bin:$PATH" \ BACKUP_FILE="$test_dir/backup.dump" \ POSTGRES_DB=inventory \ POSTGRES_USER=inventory \ POSTGRES_PASSWORD=secret \ sh "$script_dir/restore-postgres.sh" >/dev/null if BACKUP_FILE="$test_dir/empty.dump" \ POSTGRES_DB=inventory \ POSTGRES_USER=inventory \ POSTGRES_PASSWORD=secret \ sh "$script_dir/restore-postgres.sh" >/dev/null 2>&1; then printf '%s\n' 'Expected empty backup to fail.' >&2 exit 1 fi if BACKUP_FILE="$test_dir/missing.dump" \ POSTGRES_DB=inventory \ POSTGRES_USER=inventory \ POSTGRES_PASSWORD=secret \ sh "$script_dir/restore-postgres.sh" >/dev/null 2>&1; then printf '%s\n' 'Expected missing backup to fail.' >&2 exit 1 fi printf '%s\n' 'restore-postgres tests passed.'