""" Tests for status table manipulation. """ import datetime as dt import pytest import nominatim.db.status from nominatim.errors import UsageError def test_compute_database_date_place_empty(status_table, place_table, temp_db_conn): with pytest.raises(UsageError): nominatim.db.status.compute_database_date(temp_db_conn) OSM_NODE_DATA = """\ """ def iso_date(date): return dt.datetime.strptime(date, nominatim.db.status.ISODATE_FORMAT)\ .replace(tzinfo=dt.timezone.utc) def test_compute_database_date_valid(monkeypatch, status_table, place_row, temp_db_conn): place_row(osm_type='N', osm_id=45673) requested_url = [] def mock_url(url): requested_url.append(url) return OSM_NODE_DATA monkeypatch.setattr(nominatim.db.status, "get_url", mock_url) date = nominatim.db.status.compute_database_date(temp_db_conn) assert requested_url == ['https://www.openstreetmap.org/api/0.6/node/45673/1'] assert date == iso_date('2006-01-27T22:09:10') def test_compute_database_broken_api(monkeypatch, status_table, place_row, temp_db_conn): place_row(osm_type='N', osm_id=45673) requested_url = [] def mock_url(url): requested_url.append(url) return '