X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/bb175cc95898de420781867973b38d033c187e81..8c14df55a61d71f2476c8a17287e1bd162a5c6a6:/test/python/db/test_sql_preprocessor.py diff --git a/test/python/db/test_sql_preprocessor.py b/test/python/db/test_sql_preprocessor.py index 2ca0c661..45109c70 100644 --- a/test/python/db/test_sql_preprocessor.py +++ b/test/python/db/test_sql_preprocessor.py @@ -1,9 +1,16 @@ +# 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. """ Tests for SQL preprocessing. """ import pytest +import pytest_asyncio -from nominatim.db.sql_preprocessor import SQLPreprocessor +from nominatim_db.db.sql_preprocessor import SQLPreprocessor @pytest.fixture def sql_factory(tmp_path): @@ -48,3 +55,17 @@ def test_load_file_with_params(sql_preprocessor, sql_factory, temp_db_conn, temp sql_preprocessor.run_sql_file(temp_db_conn, sqlfile, bar='XX', foo='ZZ') assert temp_db_cursor.scalar('SELECT test()') == 'ZZ XX' + + +@pytest.mark.asyncio +async def test_load_parallel_file(dsn, sql_preprocessor, tmp_path, temp_db_cursor): + (tmp_path / 'test.sql').write_text(""" + CREATE TABLE foo (a TEXT); + CREATE TABLE foo2(a TEXT);""" + + "\n---\nCREATE TABLE bar (b INT);") + + await sql_preprocessor.run_parallel_sql_file(dsn, 'test.sql', num_threads=4) + + assert temp_db_cursor.table_exists('foo') + assert temp_db_cursor.table_exists('foo2') + assert temp_db_cursor.table_exists('bar')