Files
watermaps/deploy/scripts/tests/route-data-helpers.test.sh
T

75 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
TEST_DIR="$(mktemp -d)"
trap 'rm -rf "$TEST_DIR"' EXIT
export WATERMAPS_DATA_DIR="$TEST_DIR/data"
export WATERMAPS_RUNTIME_DIR="$TEST_DIR/runtime"
mkdir -p "$WATERMAPS_DATA_DIR/local" "$WATERMAPS_RUNTIME_DIR"
# shellcheck source=../common.sh
source "$ROOT_DIR/deploy/scripts/common.sh"
route_file="$(wm_route_file)"
route_marker="$(wm_route_marker)"
write_valid_route() {
cat >"$route_file" <<'JSON'
{
"version": 1,
"generatorVersion": 2,
"source": "germany+netherlands",
"sources": [
{
"region": "germany",
"file": "germany-latest.osm.pbf",
"checksumMd5": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"sizeBytes": 1
},
{
"region": "netherlands",
"file": "netherlands-latest.osm.pbf",
"checksumMd5": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"sizeBytes": 1
}
],
"ways": [{"id": "1"}]
}
JSON
chmod 0644 "$route_file"
}
write_valid_route
wm_write_route_marker "$route_file" "$route_marker"
wm_route_data_ready
sed -i 's/^size_bytes=.*/size_bytes=1/' "$route_marker"
if wm_route_data_ready; then
printf 'Ungültige Markergröße wurde akzeptiert.\n' >&2
exit 1
fi
wm_write_route_marker "$route_file" "$route_marker"
jq '.sources = [.sources[0]] | .source = "germany"' \
"$route_file" >"$route_file.tmp"
mv "$route_file.tmp" "$route_file"
chmod 0644 "$route_file"
wm_write_route_marker "$route_file" "$route_marker"
if wm_route_data_ready; then
printf 'Deutschland-only-Index wurde akzeptiert.\n' >&2
exit 1
fi
write_valid_route
wm_write_route_marker "$route_file" "$route_marker"
chmod 0600 "$route_file"
if wm_route_data_ready; then
printf 'Für den App-Container unlesbarer Index wurde akzeptiert.\n' >&2
exit 1
fi
printf 'Routingdaten- und Markerprüfungen: OK\n'