#!/bin/sh
set -e

PROFILE=/usr/share/osrm/profiles/car.lua

TESTDIR=$(dirname "$(readlink -f "$0")")
PBF="$TESTDIR/monaco-260425.osm.pbf"

TMPDIR=$(mktemp -d)
cleanup() { rm -rf "$TMPDIR"; }
trap cleanup EXIT

BASE="$TMPDIR/monaco.osrm"

echo "--- osrm-extract with --dump-nbg-graph (required by osrm-components) ---"
osrm-extract -p "$PROFILE" -o "$BASE" --dump-nbg-graph "$PBF"

echo "--- osrm-components: identify strongly connected components ---"
osrm-components "$BASE.nbg" "$TMPDIR/components.geojson"

echo "--- validate GeoJSON output ---"
if [ ! -s "$TMPDIR/components.geojson" ]; then
    echo "ERROR: components.geojson is empty"
    exit 1
fi

if ! grep -q '"FeatureCollection"' "$TMPDIR/components.geojson"; then
    echo "ERROR: components.geojson does not contain a FeatureCollection"
    exit 1
fi

if ! grep -q '"Feature"' "$TMPDIR/components.geojson"; then
    echo "ERROR: components.geojson contains no Feature entries"
    exit 1
fi

echo "OK: osrm-components produced a valid GeoJSON FeatureCollection"
echo "--- components check passed ---"
