]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/cli/test_cmd_admin.py
allow None and str for project_dir in NominatimAPI init
[nominatim.git] / test / python / cli / test_cmd_admin.py
index f8b6d76d3ca6061c35ee065da2ffddd4cc6594b4..7b0b9cd466fd6cfa27dd947af8752312f5656f4f 100644 (file)
@@ -1,43 +1,49 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2024 by the Nominatim developer community.
+# For a full list of authors see the git log.
 """
 Test for the command line interface wrapper admin subcommand.
 
 These tests just check that the various command line parameters route to the
-correct functionionality. They use a lot of monkeypatching to avoid executing
+correct functionality. They use a lot of monkeypatching to avoid executing
 the actual functions.
 """
 import pytest
 
-import nominatim.tools.admin
-import nominatim.tools.check_database
-import nominatim.tools.migration
-import nominatim.clicmd.admin
-
-
-@pytest.mark.parametrize("params", [('--warm', ),
-                                    ('--warm', '--reverse-only'),
-                                    ('--warm', '--search-only')])
-def test_admin_command_legacy(cli_call, mock_func_factory, params):
-    mock_run_legacy = mock_func_factory(nominatim.clicmd.admin, 'run_legacy_script')
-
-    assert cli_call('admin', *params) == 0
-
-    assert mock_run_legacy.called == 1
+import nominatim_db.tools.admin
+import nominatim_db.tools.check_database
+import nominatim_db.tools.migration
+import nominatim_db.clicmd.admin
 
 
 def test_admin_command_check_database(cli_call, mock_func_factory):
-    mock = mock_func_factory(nominatim.tools.check_database, 'check_database')
+    mock = mock_func_factory(nominatim_db.tools.check_database, 'check_database')
 
     assert cli_call('admin', '--check-database') == 0
     assert mock.called == 1
 
 
 def test_admin_migrate(cli_call, mock_func_factory):
-    mock = mock_func_factory(nominatim.tools.migration, 'migrate')
+    mock = mock_func_factory(nominatim_db.tools.migration, 'migrate')
 
     assert cli_call('admin', '--migrate') == 0
     assert mock.called == 1
 
 
+def test_admin_clean_deleted_relations(cli_call, mock_func_factory):
+    mock = mock_func_factory(nominatim_db.tools.admin, 'clean_deleted_relations')
+
+    assert cli_call('admin', '--clean-deleted', '1 month') == 0
+    assert mock.called == 1
+
+def test_admin_clean_deleted_relations_no_age(cli_call, mock_func_factory):
+    mock = mock_func_factory(nominatim_db.tools.admin, 'clean_deleted_relations')
+
+    assert cli_call('admin', '--clean-deleted') == 1
+
 class TestCliAdminWithDb:
 
     @pytest.fixture(autouse=True)
@@ -48,7 +54,7 @@ class TestCliAdminWithDb:
 
     @pytest.mark.parametrize("func, params", [('analyse_indexing', ('--analyse-indexing', ))])
     def test_analyse_indexing(self, mock_func_factory, func, params):
-        mock = mock_func_factory(nominatim.tools.admin, func)
+        mock = mock_func_factory(nominatim_db.tools.admin, func)
 
         assert self.call_nominatim('admin', *params) == 0
         assert mock.called == 1