]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/tokenizer/test_factory.py
use word_token length when penalizing against postcodes
[nominatim.git] / test / python / tokenizer / test_factory.py
index 87d9b5830fcb2151fe6141a473250dbf2656e7d9..4f8d2cfecf69f2a74f67e3bb3205d59d8a2cce3d 100644 (file)
@@ -1,11 +1,17 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2025 by the Nominatim developer community.
+# For a full list of authors see the git log.
 """
 Tests for creating new tokenizers.
 """
 import pytest
 
-from nominatim.db import properties
-from nominatim.tokenizer import factory
-from nominatim.errors import UsageError
+from nominatim_db.db import properties
+from nominatim_db.tokenizer import factory
+from nominatim_db.errors import UsageError
 from dummy_tokenizer import DummyTokenizer
 
 
@@ -21,7 +27,6 @@ class TestFactory:
     def init_env(self, project_env, property_table, tokenizer_mock):
         self.config = project_env
 
-
     def test_setup_dummy_tokenizer(self, temp_db_conn):
         tokenizer = factory.create_tokenizer(self.config)
 
@@ -31,7 +36,6 @@ class TestFactory:
 
         assert properties.get_property(temp_db_conn, 'tokenizer') == 'dummy'
 
-
     def test_setup_tokenizer_dir_exists(self):
         (self.config.project_dir / 'tokenizer').mkdir()
 
@@ -40,14 +44,12 @@ class TestFactory:
         assert isinstance(tokenizer, DummyTokenizer)
         assert tokenizer.init_state == "new"
 
-
     def test_setup_tokenizer_dir_failure(self):
         (self.config.project_dir / 'tokenizer').write_text("foo")
 
         with pytest.raises(UsageError):
             factory.create_tokenizer(self.config)
 
-
     def test_load_tokenizer(self):
         factory.create_tokenizer(self.config)
 
@@ -56,15 +58,13 @@ class TestFactory:
         assert isinstance(tokenizer, DummyTokenizer)
         assert tokenizer.init_state == "loaded"
 
-
-    def test_load_no_tokenizer_dir(self):
+    def test_load_repopulate_tokenizer_dir(self):
         factory.create_tokenizer(self.config)
 
-        self.config.project_dir = self.config.project_dir / 'foo'
-
-        with pytest.raises(UsageError):
-            factory.get_tokenizer_for_db(self.config)
+        self.config.project_dir = self.config.project_dir
 
+        factory.get_tokenizer_for_db(self.config)
+        assert (self.config.project_dir / 'tokenizer').exists()
 
     def test_load_missing_property(self, temp_db_cursor):
         factory.create_tokenizer(self.config)