mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 02:47:59 +00:00
port unit tests to new python package layout
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
import pytest
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for functions to add additional data to the database.
|
||||
@@ -11,7 +11,7 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import add_osm_data
|
||||
from nominatim_db.tools import add_osm_data
|
||||
|
||||
class CaptureGetUrl:
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for maintenance and analysis functions.
|
||||
"""
|
||||
import pytest
|
||||
|
||||
from nominatim.errors import UsageError
|
||||
from nominatim.tools import admin
|
||||
from nominatim.tokenizer import factory
|
||||
from nominatim.db.sql_preprocessor import SQLPreprocessor
|
||||
from nominatim_core.errors import UsageError
|
||||
from nominatim_db.tools import admin
|
||||
from nominatim_db.tokenizer import factory
|
||||
from nominatim_core.db.sql_preprocessor import SQLPreprocessor
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def create_placex_table(project_env, tokenizer_mock, temp_db_cursor, placex_table):
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for database integrity checks.
|
||||
"""
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import check_database as chkdb
|
||||
import nominatim.version
|
||||
from nominatim_db.tools import check_database as chkdb
|
||||
import nominatim_db.version
|
||||
|
||||
def test_check_database_unknown_db(def_config, monkeypatch):
|
||||
monkeypatch.setenv('NOMINATIM_DATABASE_DSN', 'pgsql:dbname=fjgkhughwgh2423gsags')
|
||||
@@ -32,7 +32,7 @@ def test_check_connection_bad(def_config):
|
||||
|
||||
def test_check_database_version_good(property_table, temp_db_conn, def_config):
|
||||
property_table.set('database_version',
|
||||
'{0[0]}.{0[1]}.{0[2]}-{0[3]}'.format(nominatim.version.NOMINATIM_VERSION))
|
||||
str(nominatim_db.version.NOMINATIM_VERSION))
|
||||
assert chkdb.check_database_version(temp_db_conn, def_config) == chkdb.CheckState.OK
|
||||
|
||||
def test_check_database_version_bad(property_table, temp_db_conn, def_config):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for functions to import a new database.
|
||||
@@ -13,8 +13,8 @@ from contextlib import closing
|
||||
import pytest
|
||||
import psycopg2
|
||||
|
||||
from nominatim.tools import database_import
|
||||
from nominatim.errors import UsageError
|
||||
from nominatim_db.tools import database_import
|
||||
from nominatim_core.errors import UsageError
|
||||
|
||||
class TestDatabaseSetup:
|
||||
DBNAME = 'test_nominatim_python_unittest'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for tools.exec_utils module.
|
||||
@@ -12,12 +12,8 @@ import subprocess
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.config import Configuration
|
||||
import nominatim.tools.exec_utils as exec_utils
|
||||
import nominatim.paths
|
||||
|
||||
|
||||
### run_osm2pgsql
|
||||
from nominatim_core.config import Configuration
|
||||
import nominatim_db.tools.exec_utils as exec_utils
|
||||
|
||||
def test_run_osm2pgsql(osm2pgsql_options):
|
||||
osm2pgsql_options['append'] = False
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for freeze functions (removing unused database parts).
|
||||
"""
|
||||
from nominatim.tools import freeze
|
||||
from nominatim_db.tools import freeze
|
||||
|
||||
NOMINATIM_RUNTIME_TABLES = [
|
||||
'country_name', 'country_osm_grid',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for import special phrases methods
|
||||
@@ -10,10 +10,10 @@
|
||||
"""
|
||||
from shutil import copyfile
|
||||
import pytest
|
||||
from nominatim.tools.special_phrases.sp_importer import SPImporter
|
||||
from nominatim.tools.special_phrases.sp_wiki_loader import SPWikiLoader
|
||||
from nominatim.tools.special_phrases.special_phrase import SpecialPhrase
|
||||
from nominatim.errors import UsageError
|
||||
from nominatim_db.tools.special_phrases.sp_importer import SPImporter
|
||||
from nominatim_db.tools.special_phrases.sp_wiki_loader import SPWikiLoader
|
||||
from nominatim_db.tools.special_phrases.special_phrase import SpecialPhrase
|
||||
from nominatim_core.errors import UsageError
|
||||
|
||||
from cursor import CursorForTesting
|
||||
|
||||
@@ -182,7 +182,7 @@ def test_import_phrases(monkeypatch, temp_db_conn, def_config, sp_importer,
|
||||
table_factory('place_classtype_amenity_animal_shelter')
|
||||
table_factory('place_classtype_wrongclass_wrongtype')
|
||||
|
||||
monkeypatch.setattr('nominatim.tools.special_phrases.sp_wiki_loader._get_wiki_content',
|
||||
monkeypatch.setattr('nominatim_db.tools.special_phrases.sp_wiki_loader._get_wiki_content',
|
||||
lambda lang: xml_wiki_content)
|
||||
|
||||
tokenizer = tokenizer_mock()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for migration functions
|
||||
@@ -10,9 +10,9 @@ Tests for migration functions
|
||||
import pytest
|
||||
import psycopg2.extras
|
||||
|
||||
from nominatim.tools import migration
|
||||
from nominatim.errors import UsageError
|
||||
import nominatim.version
|
||||
from nominatim_db.tools import migration
|
||||
from nominatim_core.errors import UsageError
|
||||
import nominatim_db.version
|
||||
|
||||
from mock_legacy_word_table import MockLegacyWordTable
|
||||
|
||||
@@ -66,17 +66,17 @@ def test_set_up_migration_for_36(temp_db_with_extensions, temp_db_cursor,
|
||||
def test_already_at_version(def_config, property_table):
|
||||
|
||||
property_table.set('database_version',
|
||||
'{0[0]}.{0[1]}.{0[2]}-{0[3]}'.format(nominatim.version.NOMINATIM_VERSION))
|
||||
str(nominatim_db.version.NOMINATIM_VERSION))
|
||||
|
||||
assert migration.migrate(def_config, {}) == 0
|
||||
|
||||
|
||||
def test_run_single_migration(def_config, temp_db_cursor, property_table,
|
||||
monkeypatch, postprocess_mock):
|
||||
oldversion = [x for x in nominatim.version.NOMINATIM_VERSION]
|
||||
oldversion = [x for x in nominatim_db.version.NOMINATIM_VERSION]
|
||||
oldversion[0] -= 1
|
||||
property_table.set('database_version',
|
||||
'{0[0]}.{0[1]}.{0[2]}-{0[3]}'.format(oldversion))
|
||||
str(nominatim_db.version.NominatimVersion(*oldversion)))
|
||||
|
||||
done = {'old': False, 'new': False}
|
||||
def _migration(**_):
|
||||
@@ -90,14 +90,13 @@ def test_run_single_migration(def_config, temp_db_cursor, property_table,
|
||||
oldversion[0] = 0
|
||||
monkeypatch.setattr(migration, '_MIGRATION_FUNCTIONS',
|
||||
[(tuple(oldversion), _old_migration),
|
||||
(nominatim.version.NOMINATIM_VERSION, _migration)])
|
||||
(nominatim_db.version.NOMINATIM_VERSION, _migration)])
|
||||
|
||||
assert migration.migrate(def_config, {}) == 0
|
||||
|
||||
assert done['new']
|
||||
assert not done['old']
|
||||
assert property_table.get('database_version') == \
|
||||
'{0[0]}.{0[1]}.{0[2]}-{0[3]}'.format(nominatim.version.NOMINATIM_VERSION)
|
||||
assert property_table.get('database_version') == str(nominatim_db.version.NOMINATIM_VERSION)
|
||||
|
||||
|
||||
###### Tests for specific migrations
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for functions to maintain the artificial postcode table.
|
||||
@@ -11,8 +11,8 @@ import subprocess
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import postcodes
|
||||
from nominatim.data import country_info
|
||||
from nominatim_db.tools import postcodes
|
||||
from nominatim_db.data import country_info
|
||||
import dummy_tokenizer
|
||||
|
||||
class MockPostcodeTable:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Test for various refresh functions.
|
||||
@@ -11,7 +11,7 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import refresh
|
||||
from nominatim_db.tools import refresh
|
||||
|
||||
def test_refresh_import_wikipedia_not_existing(dsn):
|
||||
assert refresh.import_wikipedia_articles(dsn, Path('.')) == 1
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for function for importing address ranks.
|
||||
@@ -12,7 +12,7 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools.refresh import load_address_levels, load_address_levels_from_config
|
||||
from nominatim_db.tools.refresh import load_address_levels, load_address_levels_from_config
|
||||
|
||||
def test_load_ranks_def_config(temp_db_conn, temp_db_cursor, def_config):
|
||||
load_address_levels_from_config(temp_db_conn, def_config)
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for creating PL/pgSQL functions for Nominatim.
|
||||
"""
|
||||
import pytest
|
||||
|
||||
from nominatim.tools.refresh import create_functions
|
||||
from nominatim_db.tools.refresh import create_functions
|
||||
|
||||
class TestCreateFunctions:
|
||||
@pytest.fixture(autouse=True)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for setting up the website scripts.
|
||||
@@ -11,7 +11,7 @@ import subprocess
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import refresh
|
||||
from nominatim_db.tools import refresh
|
||||
|
||||
@pytest.fixture
|
||||
def test_script(tmp_path):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for replication functionality.
|
||||
@@ -13,9 +13,9 @@ import time
|
||||
import pytest
|
||||
from osmium.replication.server import OsmosisState
|
||||
|
||||
import nominatim.tools.replication
|
||||
import nominatim.db.status as status
|
||||
from nominatim.errors import UsageError
|
||||
import nominatim_db.tools.replication
|
||||
import nominatim_core.db.status as status
|
||||
from nominatim_core.errors import UsageError
|
||||
|
||||
OSM_NODE_DATA = """\
|
||||
<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
|
||||
@@ -33,21 +33,21 @@ def setup_status_table(status_table):
|
||||
def test_init_replication_bad_base_url(monkeypatch, place_row, temp_db_conn):
|
||||
place_row(osm_type='N', osm_id=100)
|
||||
|
||||
monkeypatch.setattr(nominatim.db.status, "get_url", lambda u: OSM_NODE_DATA)
|
||||
monkeypatch.setattr(status, "get_url", lambda u: OSM_NODE_DATA)
|
||||
|
||||
with pytest.raises(UsageError, match="Failed to reach replication service"):
|
||||
nominatim.tools.replication.init_replication(temp_db_conn, 'https://test.io')
|
||||
nominatim_db.tools.replication.init_replication(temp_db_conn, 'https://test.io')
|
||||
|
||||
|
||||
def test_init_replication_success(monkeypatch, place_row, temp_db_conn, temp_db_cursor):
|
||||
place_row(osm_type='N', osm_id=100)
|
||||
|
||||
monkeypatch.setattr(nominatim.db.status, "get_url", lambda u: OSM_NODE_DATA)
|
||||
monkeypatch.setattr(nominatim.tools.replication.ReplicationServer,
|
||||
monkeypatch.setattr(status, "get_url", lambda u: OSM_NODE_DATA)
|
||||
monkeypatch.setattr(nominatim_db.tools.replication.ReplicationServer,
|
||||
"timestamp_to_sequence",
|
||||
lambda self, date: 234)
|
||||
|
||||
nominatim.tools.replication.init_replication(temp_db_conn, 'https://test.io')
|
||||
nominatim_db.tools.replication.init_replication(temp_db_conn, 'https://test.io')
|
||||
|
||||
expected_date = dt.datetime.strptime('2006-01-27T19:09:10', status.ISODATE_FORMAT)\
|
||||
.replace(tzinfo=dt.timezone.utc)
|
||||
@@ -59,22 +59,22 @@ def test_init_replication_success(monkeypatch, place_row, temp_db_conn, temp_db_
|
||||
### checking for updates
|
||||
|
||||
def test_check_for_updates_empty_status_table(temp_db_conn):
|
||||
assert nominatim.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 254
|
||||
assert nominatim_db.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 254
|
||||
|
||||
|
||||
def test_check_for_updates_seq_not_set(temp_db_conn):
|
||||
status.set_status(temp_db_conn, dt.datetime.now(dt.timezone.utc))
|
||||
|
||||
assert nominatim.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 254
|
||||
assert nominatim_db.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 254
|
||||
|
||||
|
||||
def test_check_for_updates_no_state(monkeypatch, temp_db_conn):
|
||||
status.set_status(temp_db_conn, dt.datetime.now(dt.timezone.utc), seq=345)
|
||||
|
||||
monkeypatch.setattr(nominatim.tools.replication.ReplicationServer,
|
||||
monkeypatch.setattr(nominatim_db.tools.replication.ReplicationServer,
|
||||
"get_state_info", lambda self: None)
|
||||
|
||||
assert nominatim.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 253
|
||||
assert nominatim_db.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == 253
|
||||
|
||||
|
||||
@pytest.mark.parametrize("server_sequence,result", [(344, 2), (345, 2), (346, 0)])
|
||||
@@ -83,11 +83,11 @@ def test_check_for_updates_no_new_data(monkeypatch, temp_db_conn,
|
||||
date = dt.datetime.now(dt.timezone.utc)
|
||||
status.set_status(temp_db_conn, date, seq=345)
|
||||
|
||||
monkeypatch.setattr(nominatim.tools.replication.ReplicationServer,
|
||||
monkeypatch.setattr(nominatim_db.tools.replication.ReplicationServer,
|
||||
"get_state_info",
|
||||
lambda self: OsmosisState(server_sequence, date))
|
||||
|
||||
assert nominatim.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == result
|
||||
assert nominatim_db.tools.replication.check_for_updates(temp_db_conn, 'https://test.io') == result
|
||||
|
||||
|
||||
### updating
|
||||
@@ -102,29 +102,29 @@ def update_options(tmpdir):
|
||||
|
||||
def test_update_empty_status_table(dsn):
|
||||
with pytest.raises(UsageError):
|
||||
nominatim.tools.replication.update(dsn, {})
|
||||
nominatim_db.tools.replication.update(dsn, {})
|
||||
|
||||
|
||||
def test_update_already_indexed(temp_db_conn, dsn):
|
||||
status.set_status(temp_db_conn, dt.datetime.now(dt.timezone.utc), seq=34, indexed=False)
|
||||
|
||||
assert nominatim.tools.replication.update(dsn, dict(indexed_only=True)) \
|
||||
== nominatim.tools.replication.UpdateState.MORE_PENDING
|
||||
assert nominatim_db.tools.replication.update(dsn, dict(indexed_only=True)) \
|
||||
== nominatim_db.tools.replication.UpdateState.MORE_PENDING
|
||||
|
||||
|
||||
def test_update_no_data_no_sleep(monkeypatch, temp_db_conn, dsn, update_options):
|
||||
date = dt.datetime.now(dt.timezone.utc) - dt.timedelta(days=1)
|
||||
status.set_status(temp_db_conn, date, seq=34)
|
||||
|
||||
monkeypatch.setattr(nominatim.tools.replication.ReplicationServer,
|
||||
monkeypatch.setattr(nominatim_db.tools.replication.ReplicationServer,
|
||||
"apply_diffs",
|
||||
lambda *args, **kwargs: None)
|
||||
|
||||
sleeptime = []
|
||||
monkeypatch.setattr(time, 'sleep', sleeptime.append)
|
||||
|
||||
assert nominatim.tools.replication.update(dsn, update_options) \
|
||||
== nominatim.tools.replication.UpdateState.NO_CHANGES
|
||||
assert nominatim_db.tools.replication.update(dsn, update_options) \
|
||||
== nominatim_db.tools.replication.UpdateState.NO_CHANGES
|
||||
|
||||
assert not sleeptime
|
||||
|
||||
@@ -133,15 +133,15 @@ def test_update_no_data_sleep(monkeypatch, temp_db_conn, dsn, update_options):
|
||||
date = dt.datetime.now(dt.timezone.utc) - dt.timedelta(minutes=30)
|
||||
status.set_status(temp_db_conn, date, seq=34)
|
||||
|
||||
monkeypatch.setattr(nominatim.tools.replication.ReplicationServer,
|
||||
monkeypatch.setattr(nominatim_db.tools.replication.ReplicationServer,
|
||||
"apply_diffs",
|
||||
lambda *args, **kwargs: None)
|
||||
|
||||
sleeptime = []
|
||||
monkeypatch.setattr(time, 'sleep', sleeptime.append)
|
||||
|
||||
assert nominatim.tools.replication.update(dsn, update_options) \
|
||||
== nominatim.tools.replication.UpdateState.NO_CHANGES
|
||||
assert nominatim_db.tools.replication.update(dsn, update_options) \
|
||||
== nominatim_db.tools.replication.UpdateState.NO_CHANGES
|
||||
|
||||
assert len(sleeptime) == 1
|
||||
assert sleeptime[0] < 3600
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for methods of the SPCsvLoader class.
|
||||
"""
|
||||
import pytest
|
||||
|
||||
from nominatim.errors import UsageError
|
||||
from nominatim.tools.special_phrases.sp_csv_loader import SPCsvLoader
|
||||
from nominatim.tools.special_phrases.special_phrase import SpecialPhrase
|
||||
from nominatim_core.errors import UsageError
|
||||
from nominatim_db.tools.special_phrases.sp_csv_loader import SPCsvLoader
|
||||
from nominatim_db.tools.special_phrases.special_phrase import SpecialPhrase
|
||||
|
||||
@pytest.fixture
|
||||
def sp_csv_loader(src_dir):
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Tests for methods of the SPWikiLoader class.
|
||||
"""
|
||||
import pytest
|
||||
from nominatim.tools.special_phrases.sp_wiki_loader import SPWikiLoader
|
||||
from nominatim_db.tools.special_phrases.sp_wiki_loader import SPWikiLoader
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -23,7 +23,7 @@ def sp_wiki_loader(src_dir, monkeypatch, def_config):
|
||||
xml_test_content = src_dir / 'test' / 'testdata' / 'special_phrases_test_content.txt'
|
||||
return xml_test_content.read_text()
|
||||
|
||||
monkeypatch.setattr('nominatim.tools.special_phrases.sp_wiki_loader._get_wiki_content',
|
||||
monkeypatch.setattr('nominatim_db.tools.special_phrases.sp_wiki_loader._get_wiki_content',
|
||||
_mock_wiki_content)
|
||||
return loader
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# This file is part of Nominatim. (https://nominatim.org)
|
||||
#
|
||||
# Copyright (C) 2022 by the Nominatim developer community.
|
||||
# Copyright (C) 2024 by the Nominatim developer community.
|
||||
# For a full list of authors see the git log.
|
||||
"""
|
||||
Test for tiger data function
|
||||
@@ -12,8 +12,8 @@ from textwrap import dedent
|
||||
|
||||
import pytest
|
||||
|
||||
from nominatim.tools import tiger_data, freeze
|
||||
from nominatim.errors import UsageError
|
||||
from nominatim_db.tools import tiger_data, freeze
|
||||
from nominatim_core.errors import UsageError
|
||||
|
||||
class MockTigerTable:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user