Skip to content

Do/uitvoeringsplannen update #173

Do/uitvoeringsplannen update

Do/uitvoeringsplannen update #173

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches:
- main
jobs:
check_mapfiles:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
cache: "pip"
# Some mapfiles are generated by scripts, but also committed to the repo.
# Check for mismatches between committed files and script output.
- name: Regenerate mapfiles and check for equality
run: |
for script in gen_*.py; do
mapfile=$(echo $script | sed 's/^gen_//; s/\.py$//').map
if [ ! -f "$mapfile" ]; then
mapfile="private/$mapfile"
if [ ! -f "$mapfile" ]; then
echo "Result of ${script} not committed"
exit 1
fi
fi
python3 "$script" | cmp - "$mapfile"
done
# The index.json file is not committed, but generated by the Docker
# entrypoint. It should at least be valid JSON.
- name: Check index.json file
run: |
# Create some bogus connection files, or including them will fail:
mkdir -p connections
for c in bag basiskaart dataselectie dataservices panorama; do
echo CONNECTIONTYPE postgis > connection/$c.inc
done
python3 tools/make_indexjson.py *.map | jq . > /dev/null
- name: Authorization checks
run: |
python3 -m pip install -r tools/requirements.txt
# adresseerbare_objecten and bgt_inrichtingselementen can't be parsed
# due to limitations in mappyfile.
# The other excluded maps should be fixed. They have workarounds in
# place to prevent access to restricted fields.
python3 tools/auth_check.py -e \
adresseerbare_objecten bgt_inrichtingselementen \
bomen brk2 ondergrond ziektenplagenexotengroen \
meldingen_huidige_jaar meldingen_vorige_jaar meldingen_indicatoren \
monumenten hr handelsregister
# Regression test. Asserts that we don't suffer from the MapServer 7.x
# bounding box bug https://github.com/MapServer/MapServer/issues/6478.
test_bbox:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run MapServer
run: docker compose build map &&
docker compose run -d -p "8383:80" map &&
sleep 3
- name: Projection test
run: curl 'http://localhost:8383/maps/projectiontest?REQUEST=GetFeature&SERVICE=wfs&OUTPUTFORMAT=application/json;%20subtype=geojson;%20charset=utf-8&Typename=feature&version=1.1.0&srsname=urn:ogc:def:crs:EPSG::4326&bbox=4.89337404,52.36483743,4.89351768,52.36489491' |
jq '.features | if length > 0 then . else halt_error(1) end'