Coverage for app/tests/scripts/test_test_pre_start.py: 88%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2026-03-24 11:40 +0000

1from unittest.mock import MagicMock, patch 

2 

3from sqlmodel import select 

4 

5from app.tests_pre_start import init, logger 

6 

7 

8def test_init_successful_connection() -> None: 

9 engine_mock = MagicMock() 

10 

11 session_mock = MagicMock() 

12 exec_mock = MagicMock(return_value=True) 

13 session_mock.configure_mock(**{"exec.return_value": exec_mock}) 

14 

15 with ( 

16 patch("sqlmodel.Session", return_value=session_mock), 

17 patch.object(logger, "info"), 

18 patch.object(logger, "error"), 

19 patch.object(logger, "warn"), 

20 ): 

21 try: 

22 init(engine_mock) 

23 connection_successful = True 

24 except Exception: 

25 connection_successful = False 

26 

27 assert ( 

28 connection_successful 

29 ), "The database connection should be successful and not raise an exception." 

30 

31 assert session_mock.exec.called_once_with( 

32 select(1) 

33 ), "The session should execute a select statement once."