diff --git a/backend/app/tests/scripts/test_backend_pre_start.py b/backend/app/tests/scripts/test_backend_pre_start.py index 631690fcf6..cd4c4b928f 100644 --- a/backend/app/tests/scripts/test_backend_pre_start.py +++ b/backend/app/tests/scripts/test_backend_pre_start.py @@ -1,23 +1,19 @@ from unittest.mock import MagicMock, patch -from sqlmodel import select - -from app.backend_pre_start import init, logger - def test_init_successful_connection() -> None: engine_mock = MagicMock() session_mock = MagicMock() + enter_mock = MagicMock(return_value=True) exec_mock = MagicMock(return_value=True) - session_mock.configure_mock(**{"exec.return_value": exec_mock}) + enter_mock.configure_mock(**{"exec.return_value": exec_mock}) + session_mock.__enter__.return_value = enter_mock + + with patch("sqlmodel.Session", return_value=session_mock): + # causing effort if it is not here.. It seams Patch should happen before the import + from app.backend_pre_start import init - with ( - patch("sqlmodel.Session", return_value=session_mock), - patch.object(logger, "info"), - patch.object(logger, "error"), - patch.object(logger, "warn"), - ): try: init(engine_mock) connection_successful = True @@ -27,7 +23,5 @@ def test_init_successful_connection() -> None: assert ( connection_successful ), "The database connection should be successful and not raise an exception." - - assert session_mock.exec.called_once_with( - select(1) - ), "The session should execute a select statement once." + session_mock.__enter__.assert_called_once() + enter_mock.exec.assert_called_once() diff --git a/backend/app/tests/scripts/test_test_pre_start.py b/backend/app/tests/scripts/test_test_pre_start.py index a176f380de..51b10372a5 100644 --- a/backend/app/tests/scripts/test_test_pre_start.py +++ b/backend/app/tests/scripts/test_test_pre_start.py @@ -1,23 +1,18 @@ from unittest.mock import MagicMock, patch -from sqlmodel import select - -from app.tests_pre_start import init, logger - def test_init_successful_connection() -> None: engine_mock = MagicMock() session_mock = MagicMock() + enter_mock = MagicMock(return_value=True) exec_mock = MagicMock(return_value=True) - session_mock.configure_mock(**{"exec.return_value": exec_mock}) + enter_mock.configure_mock(**{"exec.return_value": exec_mock}) + session_mock.__enter__.return_value = enter_mock + + with patch("sqlmodel.Session", return_value=session_mock): + from app.tests_pre_start import init - with ( - patch("sqlmodel.Session", return_value=session_mock), - patch.object(logger, "info"), - patch.object(logger, "error"), - patch.object(logger, "warn"), - ): try: init(engine_mock) connection_successful = True @@ -28,6 +23,5 @@ def test_init_successful_connection() -> None: connection_successful ), "The database connection should be successful and not raise an exception." - assert session_mock.exec.called_once_with( - select(1) - ), "The session should execute a select statement once." + session_mock.__enter__.assert_called_once() + enter_mock.exec.assert_called_once()