+# SPDX-License-Identifier: GPL-2.0-only
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2022 by the Nominatim developer community.
+# For a full list of authors see the git log.
"""
Tests for replication command of command-line interface wrapper.
"""
import nominatim.cli
import nominatim.indexer.indexer
import nominatim.tools.replication
+import nominatim.tools.refresh
from nominatim.db import status
@pytest.fixture
@pytest.mark.parametrize("params,func", [
+ (('--init',), 'init_replication'),
(('--init', '--no-update-functions'), 'init_replication'),
(('--check-for-updates',), 'check_for_updates')
])
def test_replication_command(self, mock_func_factory, params, func):
func_mock = mock_func_factory(nominatim.tools.replication, func)
+ if params == ('--init',):
+ umock = mock_func_factory(nominatim.tools.refresh, 'create_functions')
+
assert self.call_nominatim(*params) == 0
assert func_mock.called == 1
+ if params == ('--init',):
+ assert umock.called == 1
def test_replication_update_bad_interval(self, monkeypatch):
assert self.call_nominatim() == 1
+ def test_replication_update_continuous_no_index(self):
+ assert self.call_nominatim('--no-index') == 1
+
def test_replication_update_once_no_index(self, update_mock):
assert self.call_nominatim('--once', '--no-index') == 0
- assert str(update_mock.last_args[1]['osm2pgsql']) == 'OSM2PGSQL NOT AVAILABLE'
+ assert str(update_mock.last_args[1]['osm2pgsql']).endswith('OSM2PGSQL NOT AVAILABLE')
def test_replication_update_custom_osm2pgsql(self, monkeypatch, update_mock):