mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 02:47:59 +00:00
add unit tests for new Python API
This commit is contained in:
@@ -7,9 +7,12 @@
|
||||
"""
|
||||
Tests for API access commands of command-line interface wrapper.
|
||||
"""
|
||||
import json
|
||||
import pytest
|
||||
|
||||
import nominatim.clicmd.api
|
||||
import nominatim.api
|
||||
from nominatim.apicmd.status import StatusResult
|
||||
|
||||
|
||||
@pytest.mark.parametrize("endpoint", (('search', 'reverse', 'lookup', 'details', 'status')))
|
||||
@@ -27,9 +30,8 @@ def test_no_api_without_phpcgi(endpoint):
|
||||
('details', '--node', '1'),
|
||||
('details', '--way', '1'),
|
||||
('details', '--relation', '1'),
|
||||
('details', '--place_id', '10001'),
|
||||
('status',)])
|
||||
class TestCliApiCall:
|
||||
('details', '--place_id', '10001')])
|
||||
class TestCliApiCallPhp:
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_cli_call(self, params, cli_call, mock_func_factory, tmp_path):
|
||||
@@ -55,6 +57,29 @@ class TestCliApiCall:
|
||||
assert self.run_nominatim() == 1
|
||||
|
||||
|
||||
class TestCliStatusCall:
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_status_mock(self, monkeypatch):
|
||||
monkeypatch.setattr(nominatim.api.NominatimAPI, 'status',
|
||||
lambda self: StatusResult(200, 'OK'))
|
||||
|
||||
|
||||
def test_status_simple(self, cli_call, tmp_path):
|
||||
result = cli_call('status', '--project-dir', str(tmp_path))
|
||||
|
||||
assert result == 0
|
||||
|
||||
|
||||
def test_status_json_format(self, cli_call, tmp_path, capsys):
|
||||
result = cli_call('status', '--project-dir', str(tmp_path),
|
||||
'--format', 'json')
|
||||
|
||||
assert result == 0
|
||||
|
||||
json.loads(capsys.readouterr().out)
|
||||
|
||||
|
||||
QUERY_PARAMS = {
|
||||
'search': ('--query', 'somewhere'),
|
||||
'reverse': ('--lat', '20', '--lon', '30'),
|
||||
|
||||
Reference in New Issue
Block a user