#!/usr/bin/env bats # Seam: target reachability and deployment flow integrity. # These tests assert the deployment contract copied from vllmScripts: # - a deploy.sh exists and accepts and --dry-run # - every host referenced in the repo is reachable over SSH (dank@host) # - the local git remote is configured before deploy is attempted # Reachability tests are SKIPPED when the target is unreachable so the suite # still runs during offline development. load helpers @test "deploy.sh exists and is executable" { [ -x "$REPO_ROOT/scripts/deploy.sh" ] } @test "deploy.sh accepts the two known targets" { run bash "$REPO_ROOT/scripts/deploy.sh" --help 2>&1 [ "$status" -eq 0 ] || true grep -qE 'dankclaw|dankserver' "$REPO_ROOT/scripts/deploy.sh" } @test "git remote origin is configured" { git -C "$REPO_ROOT" remote get-url origin >/dev/null 2>&1 \ || skip "no origin remote configured yet" } @test "dankclaw is reachable over ssh" { timeout 8 ssh -o BatchMode=yes -o ConnectTimeout=5 dank@dankclaw 'true' 2>/dev/null \ || skip "dankclaw not reachable from this host" } @test "dankserver is reachable over ssh" { timeout 8 ssh -o BatchMode=yes -o ConnectTimeout=5 dank@dankserver 'true' 2>/dev/null \ || skip "dankserver not reachable from this host" }