return self.return_value
+class AsyncMockParamCapture:
+ """ 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
+
+ async def __call__(self, *args, **kwargs):
+ self.called += 1
+ self.last_args = args
+ self.last_kwargs = kwargs
+ return self.return_value
+
+
class DummyTokenizer:
def __init__(self, *args, **kwargs):
self.update_sql_functions_called = False
Returns a function that can be called with the desired CLI arguments.
"""
def _call_nominatim(*args):
- return nominatim_db.cli.nominatim(module_dir='MODULE NOT AVAILABLE',
- osm2pgsql_path='OSM2PGSQL NOT AVAILABLE',
+ return nominatim_db.cli.nominatim(osm2pgsql_path='OSM2PGSQL NOT AVAILABLE',
cli_args=args)
return _call_nominatim
return get_mock
+@pytest.fixture
+def async_mock_func_factory(monkeypatch):
+ def get_mock(module, func):
+ mock = AsyncMockParamCapture()
+ mock.func_name = func
+ monkeypatch.setattr(module, func, mock)
+ return mock
+
+ return get_mock
+
+
@pytest.fixture
def cli_tokenizer_mock(monkeypatch):
tok = DummyTokenizer()