Skip to content

Commit a1c9477

Browse files
committed
Integrate ETRS89andRDNAP test in regression-test action
1 parent c6931b7 commit a1c9477

11 files changed

Lines changed: 70 additions & 0 deletions

File tree

.github/workflows/regression-test.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ jobs:
1818
with:
1919
push: false
2020
tags: pdok/mapserver:local
21+
- name: Build test image (NL target)
22+
uses: docker/build-push-action@v5
23+
with:
24+
push: false
25+
target: NL
26+
tags: pdok/mapserver:local-nl
2127

2228
- name: Regression test => rectObj wrong projection (WMS)
2329
run: |
@@ -81,3 +87,67 @@ jobs:
8187
docker stop mapserver-rectobj-wfs
8288
8389
exit $exit_code
90+
91+
- name: Regression test => RDNAPTRANS (RD->ETRS89)
92+
run: |
93+
# start mapserver
94+
docker run --rm -d -p 8181:80 --name mapserver-rdnap-wfs -v `pwd`/testdata/ETRS89andRDNAP:/srv/data -e MAPSERVER_CONFIG_FILE=/srv/data/rd.conf -e SERVICE_TYPE=wfs -e MS_MAPFILE=/srv/data/rd.map pdok/mapserver:local
95+
96+
# execute request
97+
mkdir -p `pwd`/testdata/ETRS89andRDNAP/actual
98+
curl "http://localhost:8181/mapserver?service=WFS&version=2.0.0&request=GetFeature&typeName=rd&outputFormat=geojson&srsName=EPSG:4258" -sL | \
99+
jq --arg crs "etrs89" '.features | .[] | { id, x_dev: (.geometry.coordinates[0] - (.properties[$crs+"_x"]|tonumber)), y_dev: (.geometry.coordinates[1] - (.properties[$crs+"_y"]|tonumber)) } | {error: ((.x_dev|fabs) > 0.001 or (.y_dev|fabs) > 0.001 )} + .' | \
100+
jq -s 'group_by (.error)[] | {error: .[0].error, count: length}' > `pwd`/testdata/ETRS89andRDNAP/actual/etrs89.json
101+
102+
# assert results are as expected
103+
exit_code=0
104+
results=($(cat `pwd`/testdata/ETRS89andRDNAP/actual/etrs89.json | jq -r '.error'))
105+
for err in "${results[@]}"
106+
do
107+
if [ "$err" == "true" ]
108+
then
109+
echo "found errors in RDNAPTRANS from RD to ETRS89:"
110+
cat `pwd`/testdata/ETRS89andRDNAP/actual/etrs89.json
111+
exit_code=1
112+
fi
113+
done
114+
115+
# cleanup
116+
rm -rf `pwd`/testdata/ETRS89andRDNAP/actual
117+
118+
# stop mapserver
119+
docker stop mapserver-rdnap-wfs
120+
121+
exit $exit_code
122+
123+
- name: Regression test => RDNAPTRANS (ETRS89->RD)
124+
run: |
125+
# start mapserver
126+
docker run --rm -d -p 8181:80 --name mapserver-rdnap-wfs -v `pwd`/testdata/ETRS89andRDNAP:/srv/data -e MAPSERVER_CONFIG_FILE=/srv/data/etrs89.conf -e SERVICE_TYPE=wfs -e MS_MAPFILE=/srv/data/etrs89.map pdok/mapserver:local-nl
127+
128+
# execute request
129+
mkdir -p `pwd`/testdata/ETRS89andRDNAP/actual
130+
curl "http://localhost:8181/mapserver?service=WFS&version=2.0.0&request=GetFeature&typeName=etrs89&outputFormat=geojson&srsName=EPSG:28992" -sL | \
131+
jq --arg crs "rd" '.features | .[] | { id, x_dev: (.geometry.coordinates[0] - (.properties[$crs+"_x"]|tonumber)), y_dev: (.geometry.coordinates[1] - (.properties[$crs+"_y"]|tonumber)) } | {error: ((.x_dev|fabs) > 0.001 or (.y_dev|fabs) > 0.001 )} + .' | \
132+
jq -s 'group_by (.error)[] | {error: .[0].error, count: length}' > `pwd`/testdata/ETRS89andRDNAP/actual/rd.json
133+
134+
# assert results are as expected
135+
exit_code=0
136+
results=($(cat `pwd`/testdata/ETRS89andRDNAP/actual/rd.json | jq -r '.error'))
137+
for err in "${results[@]}"
138+
do
139+
if [ "$err" == "true" ]
140+
then
141+
echo "found errors in RDNAPTRANS from ETRS89 to RD:"
142+
cat `pwd`/testdata/ETRS89andRDNAP/actual/rd.json
143+
exit_code=1
144+
fi
145+
done
146+
147+
# cleanup
148+
rm -rf `pwd`/testdata/ETRS89andRDNAP/actual
149+
150+
# stop mapserver
151+
docker stop mapserver-rdnap-wfs
152+
153+
exit $exit_code
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)