#!/usr/bin/env sh set -eu API_BASE=${API_BASE:-http://localhost:5603} post_json() { path=$1 payload=$2 curl -fsS -X POST "$API_BASE$path" \ -H 'Content-Type: application/json' \ -d "$payload" >/dev/null } get_json() { path=$1 curl -fsS "$API_BASE$path" >/dev/null } echo "Smoke API base: $API_BASE" echo "health" get_json "/health" echo "status/data" get_json "/api/v1/status/data" echo "terrain/elevation" get_json "/api/v1/terrain/elevation?lat=59.9386&lon=30.3141&surface=dtm" echo "buildings/query" post_json "/api/v1/buildings/query" '{"bbox":[30.30,59.93,30.33,59.95]}' echo "landcover/path" post_json "/api/v1/landcover/path" '{ "start": {"lat": 59.935, "lon": 30.305}, "end": {"lat": 59.945, "lon": 30.325}, "samples": 64 }' echo "terrain/los" post_json "/api/v1/terrain/los" '{ "tx": {"lat": 59.935, "lon": 30.305, "height_agl": 30}, "rx": {"lat": 59.945, "lon": 30.325, "height_agl": 2}, "frequency_mhz": 433, "include_buildings": true, "include_vegetation": true, "samples": 128 }' echo "link/budget" post_json "/api/v1/link/budget" '{ "tx": {"lat": 59.935, "lon": 30.305, "height_agl": 30, "power_dbm": 37, "gain_dbi": 8}, "rx": {"lat": 59.945, "lon": 30.325, "height_agl": 2, "gain_dbi": 2, "sensitivity_dbm": -110}, "frequency_mhz": 433, "model": "manual", "include_buildings": true, "include_vegetation": true }' echo "OK"