31 lines
925 B
Bash
Executable File
31 lines
925 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Smoke test for Phase 2 scan:
|
|
# - go build + go vet
|
|
# - go test on internal/scan
|
|
# - hits the live Greenhouse Dragos API once to confirm end-to-end parse
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
echo "-> go build ./..."
|
|
go build ./...
|
|
|
|
echo "-> go vet ./..."
|
|
go vet ./...
|
|
|
|
echo "-> go test ./internal/scan/..."
|
|
go test ./internal/scan/... -count=1
|
|
|
|
echo "-> live check: Dragos Greenhouse API (HTTP 200 + jobs[] present)"
|
|
python3 - <<'PY'
|
|
import json, urllib.request
|
|
req = urllib.request.Request("https://boards-api.greenhouse.io/v1/boards/dragos/jobs",
|
|
headers={"User-Agent": "apex-smoke/1.0"})
|
|
with urllib.request.urlopen(req, timeout=10) as r:
|
|
body = json.loads(r.read())
|
|
jobs = body.get("jobs", [])
|
|
assert isinstance(jobs, list) and len(jobs) > 0, "expected jobs[] populated"
|
|
print(f" {len(jobs)} jobs returned — smoke ok")
|
|
PY
|
|
|
|
echo "-> all checks passed"
|