Files

41 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
root_dir="$(cd -- "$script_dir/.." && pwd)"
cd "$root_dir"
export HTTP_PORT="${HTTP_PORT:-18080}"
base_url="http://127.0.0.1:${HTTP_PORT}"
cleanup() {
docker compose stop tiles >/dev/null 2>&1 || true
}
trap cleanup EXIT
docker compose build tile-builder tiles
docker compose run --rm --no-deps tile-builder --source-filter Altis.kmz
tile_path="$(docker compose run --rm --no-deps --entrypoint sh tile-builder -c 'find /var/lib/arma-tiles/tiles -type f -name "*.png" | head -n 1')"
docker compose run --rm --no-deps --entrypoint sh tile-builder -c 'test -s /var/lib/arma-tiles/tiles/metadata.json'
test -n "$tile_path"
relative="${tile_path#/var/lib/arma-tiles/tiles/}"
IFS=/ read -r z x filename <<<"$relative"
y="${filename%.png}"
docker compose up -d --no-deps tiles
for _ in $(seq 1 20); do
if curl -sS -o /dev/null "$base_url/tiles/$x/$y/$z"; then
break
fi
sleep 1
done
headers="$(curl -sS -D - -o /dev/null "$base_url/tiles/$x/$y/$z")"
printf '%s\n' "$headers" | grep -qi '^HTTP/.* 200'
printf '%s\n' "$headers" | grep -qi '^Content-Type: image/png'
printf '%s\n' "$headers" | grep -qi '^Access-Control-Allow-Origin: \*'
printf 'Smoke test passou: /tiles/%s/%s/%s retornou PNG/CORS.\n' "$x" "$y" "$z"