From 9f3d21ad1e60ad54239c9aec144702a847c23080 Mon Sep 17 00:00:00 2001 From: Leon Xiao Date: Tue, 26 Nov 2024 22:39:07 -0500 Subject: [PATCH 1/2] fix test error --- .../tests/scripts/test_backend_pre_start.py | 21 +++++++++--------- .../app/tests/scripts/test_test_pre_start.py | 22 ++++++++----------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/backend/app/tests/scripts/test_backend_pre_start.py b/backend/app/tests/scripts/test_backend_pre_start.py index 631690fcf6..134c01701d 100644 --- a/backend/app/tests/scripts/test_backend_pre_start.py +++ b/backend/app/tests/scripts/test_backend_pre_start.py @@ -2,22 +2,23 @@ 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), - patch.object(logger, "info"), - patch.object(logger, "error"), - patch.object(logger, "warn"), - ): + 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 try: init(engine_mock) connection_successful = True @@ -27,7 +28,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..411db9f3ad 100644 --- a/backend/app/tests/scripts/test_test_pre_start.py +++ b/backend/app/tests/scripts/test_test_pre_start.py @@ -2,22 +2,19 @@ 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), - patch.object(logger, "info"), - patch.object(logger, "error"), - patch.object(logger, "warn"), - ): + patch("sqlmodel.Session", return_value=session_mock) + ): + from app.tests_pre_start import init, logger try: init(engine_mock) connection_successful = True @@ -27,7 +24,6 @@ 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() From d80d3874980da601b555c6a7ff8996d6678d8074 Mon Sep 17 00:00:00 2001 From: Leon Xiao Date: Tue, 26 Nov 2024 23:12:12 -0500 Subject: [PATCH 2/2] fix pre-commit error --- backend/app/tests/scripts/test_backend_pre_start.py | 9 ++------- backend/app/tests/scripts/test_test_pre_start.py | 10 ++++------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/backend/app/tests/scripts/test_backend_pre_start.py b/backend/app/tests/scripts/test_backend_pre_start.py index 134c01701d..cd4c4b928f 100644 --- a/backend/app/tests/scripts/test_backend_pre_start.py +++ b/backend/app/tests/scripts/test_backend_pre_start.py @@ -1,9 +1,5 @@ from unittest.mock import MagicMock, patch -from sqlmodel import select - - - def test_init_successful_connection() -> None: engine_mock = MagicMock() @@ -14,11 +10,10 @@ def test_init_successful_connection() -> None: enter_mock.configure_mock(**{"exec.return_value": exec_mock}) session_mock.__enter__.return_value = enter_mock - with ( - patch("sqlmodel.Session", return_value=session_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 + try: init(engine_mock) connection_successful = True diff --git a/backend/app/tests/scripts/test_test_pre_start.py b/backend/app/tests/scripts/test_test_pre_start.py index 411db9f3ad..51b10372a5 100644 --- a/backend/app/tests/scripts/test_test_pre_start.py +++ b/backend/app/tests/scripts/test_test_pre_start.py @@ -1,6 +1,5 @@ from unittest.mock import MagicMock, patch -from sqlmodel import select def test_init_successful_connection() -> None: engine_mock = MagicMock() @@ -11,10 +10,9 @@ def test_init_successful_connection() -> None: 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, logger + with patch("sqlmodel.Session", return_value=session_mock): + from app.tests_pre_start import init + try: init(engine_mock) connection_successful = True @@ -24,6 +22,6 @@ def test_init_successful_connection() -> None: assert ( connection_successful ), "The database connection should be successful and not raise an exception." - + session_mock.__enter__.assert_called_once() enter_mock.exec.assert_called_once()