assert result == '{"status":0,"message":"OK","data_updated":"2010-02-07T20:20:03+00:00","software_version":"%s","database_version":"5.6"}' % (NOMINATIM_VERSION, )
-# SearchResult
+# DetailedResult
def test_search_details_minimal():
- search = napi.SearchResult(napi.SourceTable.PLACEX,
- ('place', 'thing'),
- napi.Point(1.0, 2.0))
+ search = napi.DetailedResult(napi.SourceTable.PLACEX,
+ ('place', 'thing'),
+ napi.Point(1.0, 2.0))
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
assert json.loads(result) == \
{'category': 'place',
def test_search_details_full():
- import_date = dt.datetime(2010, 2, 7, 20, 20, 3, 0)
- search = napi.SearchResult(
+ import_date = dt.datetime(2010, 2, 7, 20, 20, 3, 0, tzinfo=dt.timezone.utc)
+ search = napi.DetailedResult(
source_table=napi.SourceTable.PLACEX,
category=('amenity', 'bank'),
centroid=napi.Point(56.947, -87.44),
indexed_date = import_date
)
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
assert json.loads(result) == \
{'place_id': 37563,
('ST_Polygon', True),
('ST_MultiPolygon', True)])
def test_search_details_no_geometry(gtype, isarea):
- search = napi.SearchResult(napi.SourceTable.PLACEX,
+ search = napi.DetailedResult(napi.SourceTable.PLACEX,
('place', 'thing'),
napi.Point(1.0, 2.0),
geometry={'type': gtype})
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
js = json.loads(result)
assert js['geometry'] == {'type': 'Point', 'coordinates': [1.0, 2.0]}
def test_search_details_with_geometry():
- search = napi.SearchResult(napi.SourceTable.PLACEX,
- ('place', 'thing'),
- napi.Point(1.0, 2.0),
- geometry={'geojson': '{"type":"Point","coordinates":[56.947,-87.44]}'})
+ search = napi.DetailedResult(napi.SourceTable.PLACEX,
+ ('place', 'thing'),
+ napi.Point(1.0, 2.0),
+ geometry={'geojson': '{"type":"Point","coordinates":[56.947,-87.44]}'})
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
js = json.loads(result)
assert js['geometry'] == {'type': 'Point', 'coordinates': [56.947, -87.44]}
def test_search_details_with_address_minimal():
- search = napi.SearchResult(napi.SourceTable.PLACEX,
- ('place', 'thing'),
- napi.Point(1.0, 2.0),
- address_rows=[
+ search = napi.DetailedResult(napi.SourceTable.PLACEX,
+ ('place', 'thing'),
+ napi.Point(1.0, 2.0),
+ address_rows=[
napi.AddressLine(place_id=None,
osm_object=None,
category=('bnd', 'note'),
isaddress=False,
rank_address=10,
distance=0.0)
- ])
+ ])
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
js = json.loads(result)
assert js['address'] == [{'localname': '',
def test_search_details_with_address_full():
- search = napi.SearchResult(napi.SourceTable.PLACEX,
- ('place', 'thing'),
- napi.Point(1.0, 2.0),
- address_rows=[
+ search = napi.DetailedResult(napi.SourceTable.PLACEX,
+ ('place', 'thing'),
+ napi.Point(1.0, 2.0),
+ address_rows=[
napi.AddressLine(place_id=3498,
osm_object=('R', 442),
category=('bnd', 'note'),
isaddress=True,
rank_address=10,
distance=0.034)
- ])
+ ])
- result = api_impl.format_result(search, 'details-json', {})
+ result = api_impl.format_result(search, 'json', {})
js = json.loads(result)
assert js['address'] == [{'localname': 'Trespass',