X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c3ddc7579a6f2a855cfb8adefbb16e8f3213ba92..b87d6226fb3e4f0a0af225f819bc273342e8f393:/test/python/mocks.py?ds=sidebyside diff --git a/test/python/mocks.py b/test/python/mocks.py index 7f7aaafc..cde0b7bb 100644 --- a/test/python/mocks.py +++ b/test/python/mocks.py @@ -1,31 +1,18 @@ +# 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. """ Custom mocks for testing. """ import itertools -import psycopg2.extras - -from nominatim.db import properties +from nominatim_db.db import properties # This must always point to the mock word table for the default tokenizer. -from mock_legacy_word_table import MockLegacyWordTable as MockWordTable - -class MockParamCapture: - """ Mock that records the parameters with which a function was called - as well as the number of calls. - """ - def __init__(self, retval=0): - self.called = 0 - self.return_value = retval - self.last_args = None - self.last_kwargs = None - - def __call__(self, *args, **kwargs): - self.called += 1 - self.last_args = args - self.last_kwargs = kwargs - return self.return_value - +from mock_icu_word_table import MockIcuWordTable as MockWordTable class MockPlacexTable: """ A placex table for testing. @@ -53,6 +40,7 @@ class MockPlacexTable: admin_level smallint, address hstore, extratags hstore, + token_info jsonb, geometry Geometry(Geometry,4326), wikipedia TEXT, country_code varchar(2), @@ -64,15 +52,16 @@ class MockPlacexTable: def add(self, osm_type='N', osm_id=None, cls='amenity', typ='cafe', names=None, admin_level=None, address=None, extratags=None, geom='POINT(10 4)', - country=None): + country=None, housenumber=None, rank_search=30): with self.conn.cursor() as cur: - psycopg2.extras.register_hstore(cur) cur.execute("""INSERT INTO placex (place_id, osm_type, osm_id, class, type, name, admin_level, address, + housenumber, rank_search, extratags, geometry, country_code) - VALUES(nextval('seq_place'), %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""", + VALUES(nextval('seq_place'), %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""", (osm_type, osm_id or next(self.idseq), cls, typ, names, - admin_level, address, extratags, 'SRID=4326;' + geom, + admin_level, address, housenumber, rank_search, + extratags, 'SRID=4326;' + geom, country)) self.conn.commit() @@ -88,3 +77,9 @@ class MockPropertyTable: """ Set a property in the table to the given value. """ properties.set_property(self.conn, name, value) + + + def get(self, name): + """ Set a property in the table to the given value. + """ + return properties.get_property(self.conn, name)