X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e42878eeda111457018684a3f60417c0ed6c5294..3905dd68dd5b261449df7df243c594b25995d8bd:/test/python/mock_legacy_word_table.py diff --git a/test/python/mock_legacy_word_table.py b/test/python/mock_legacy_word_table.py index 8baf3adc..d3f81a4d 100644 --- a/test/python/mock_legacy_word_table.py +++ b/test/python/mock_legacy_word_table.py @@ -1,7 +1,14 @@ +# 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. """ Legacy word table for testing with functions to prefil and test contents of the table. """ +from nominatim_db.db.connection import execute_scalar class MockLegacyWordTable: """ A word table for testing using legacy word table structure. @@ -20,6 +27,14 @@ class MockLegacyWordTable: conn.commit() + def add_full_word(self, word_id, word, word_token=None): + with self.conn.cursor() as cur: + cur.execute("""INSERT INTO word (word_id, word_token, word) + VALUES (%s, %s, %s) + """, (word_id, ' ' + (word_token or word), word)) + self.conn.commit() + + def add_special(self, word_token, word, cls, typ, oper): with self.conn.cursor() as cur: cur.execute("""INSERT INTO word (word_token, word, class, type, operator) @@ -44,18 +59,16 @@ class MockLegacyWordTable: def count(self): - with self.conn.cursor() as cur: - return cur.scalar("SELECT count(*) FROM word") + return execute_scalar(self.conn, "SELECT count(*) FROM word") def count_special(self): - with self.conn.cursor() as cur: - return cur.scalar("SELECT count(*) FROM word WHERE class != 'place'") + return execute_scalar(self.conn, "SELECT count(*) FROM word WHERE class != 'place'") def get_special(self): with self.conn.cursor() as cur: - cur.execute("""SELECT word_token, word, class, type, operator + cur.execute("""SELECT word_token, word, class as cls, type, operator FROM word WHERE class != 'place'""") result = set((tuple(row) for row in cur)) assert len(result) == cur.rowcount, "Word table has duplicates."