X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/e42878eeda111457018684a3f60417c0ed6c5294..0722495434e039b7b716206974d0076db8813ca6:/test/python/mocks.py?ds=sidebyside diff --git a/test/python/mocks.py b/test/python/mocks.py index 7f7aaafc..a2fff677 100644 --- a/test/python/mocks.py +++ b/test/python/mocks.py @@ -1,3 +1,9 @@ +# 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. """ Custom mocks for testing. """ @@ -8,24 +14,7 @@ import psycopg2.extras from nominatim.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 +42,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 +54,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): 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, 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)""", (osm_type, osm_id or next(self.idseq), cls, typ, names, - admin_level, address, extratags, 'SRID=4326;' + geom, + admin_level, address, housenumber, extratags, 'SRID=4326;' + geom, country)) self.conn.commit() @@ -88,3 +79,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)