|
18 | 18 | with: |
19 | 19 | push: false |
20 | 20 | 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 |
21 | 27 |
|
22 | 28 | - name: Regression test => rectObj wrong projection (WMS) |
23 | 29 | run: | |
|
81 | 87 | docker stop mapserver-rectobj-wfs |
82 | 88 |
|
83 | 89 | 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 |
0 commit comments