forked from hans/Nominatim
The only allowable difference is precision of coordinates. Python uses a precision of 7 digits where possible, which corresponds to the precision of OSM data. Also fixes some smaller bugs found by the BDD tests.
130 lines
4.4 KiB
Gherkin
130 lines
4.4 KiB
Gherkin
@APIDB
|
|
Feature: Json output for Reverse API
|
|
Testing correctness of json and jsonv2 output (API version v1).
|
|
|
|
Scenario Outline: OSM result with and without addresses
|
|
When sending v1/reverse at 47.066,9.504 with format json
|
|
| addressdetails |
|
|
| <has_address> |
|
|
Then result has <attributes> address
|
|
When sending v1/reverse at 47.066,9.504 with format jsonv2
|
|
| addressdetails |
|
|
| <has_address> |
|
|
Then result has <attributes> address
|
|
|
|
Examples:
|
|
| has_address | attributes |
|
|
| 1 | attributes |
|
|
| 0 | not attributes |
|
|
|
|
Scenario Outline: Simple OSM result
|
|
When sending v1/reverse at 47.066,9.504 with format <format>
|
|
Then result has attributes place_id
|
|
And results contain
|
|
| licence |
|
|
| ^Data © OpenStreetMap contributors, ODbL 1.0. https?://osm.org/copyright$ |
|
|
And results contain
|
|
| osm_type | osm_id |
|
|
| node | 6522627624 |
|
|
And results contain
|
|
| centroid | boundingbox |
|
|
| 9.5036065 47.0660892 | ['47.0660392', '47.0661392', '9.5035565', '9.5036565'] |
|
|
And results contain
|
|
| display_name |
|
|
| Dorfbäckerei Herrmann, 29, Gnetsch, Mäls, Balzers, Oberland, 9496, Liechtenstein |
|
|
And result has not attributes namedetails,extratags
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|
|
|
|
Scenario: Extra attributes of jsonv2 result
|
|
When sending v1/reverse at 47.066,9.504 with format jsonv2
|
|
Then result has attributes importance
|
|
Then results contain
|
|
| category | type | name | place_rank | addresstype |
|
|
| shop | bakery | Dorfbäckerei Herrmann | 30 | shop |
|
|
|
|
|
|
@Tiger
|
|
Scenario: Tiger address
|
|
When sending v1/reverse at 32.4752389363,-86.4810198619 with format jsonv2
|
|
Then results contain
|
|
| osm_type | osm_id | category | type | addresstype |
|
|
| way | 396009653 | place | house | place |
|
|
|
|
|
|
Scenario Outline: Interpolation address
|
|
When sending v1/reverse at 47.118533,9.57056562 with format <format>
|
|
Then results contain
|
|
| osm_type | osm_id |
|
|
| way | 1 |
|
|
And results contain
|
|
| centroid | boundingbox |
|
|
| 9.57054676 47.118545392 | ^\['47.118495\d*', '47.118595\d*', '9.570496\d*', '9.570596\d*'\] |
|
|
And results contain
|
|
| display_name |
|
|
| 1019, Grosssteg, Sücka, Triesenberg, Oberland, 9497, Liechtenstein |
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|
|
|
|
|
|
Scenario Outline: Output of geojson
|
|
When sending v1/reverse at 47.06597,9.50467 with format <format>
|
|
| param | value |
|
|
| polygon_geojson | 1 |
|
|
Then results contain in field geojson
|
|
| type | coordinates |
|
|
| LineString | [[9.5039353, 47.0657546], [9.5040437, 47.0657781], [9.5040808, 47.065787], [9.5054298, 47.0661407]] |
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|
|
|
|
|
|
Scenario Outline: Output of WKT
|
|
When sending v1/reverse at 47.06597,9.50467 with format <format>
|
|
| param | value |
|
|
| polygon_text | 1 |
|
|
Then results contain
|
|
| geotext |
|
|
| LINESTRING(9.5039353 47.0657546,9.5040437 47.0657781,9.5040808 47.065787,9.5054298 47.0661407) |
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|
|
|
|
|
|
Scenario Outline: Output of SVG
|
|
When sending v1/reverse at 47.06597,9.50467 with format <format>
|
|
| param | value |
|
|
| polygon_svg | 1 |
|
|
Then results contain
|
|
| svg |
|
|
| M 9.5039353 -47.0657546 L 9.5040437 -47.0657781 9.5040808 -47.065787 9.5054298 -47.0661407 |
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|
|
|
|
|
|
Scenario Outline: Output of KML
|
|
When sending v1/reverse at 47.06597,9.50467 with format <format>
|
|
| param | value |
|
|
| polygon_kml | 1 |
|
|
Then results contain
|
|
| geokml |
|
|
| ^<LineString><coordinates>9.5039\d*,47.0657\d* 9.5040\d*,47.0657\d* 9.5040\d*,47.065\d* 9.5054\d*,47.0661\d*</coordinates></LineString> |
|
|
|
|
Examples:
|
|
| format |
|
|
| json |
|
|
| jsonv2 |
|