You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
877 B

from unittest.mock import MagicMock
from sqlmodel import select
from app.backend_pre_start import init, logger
def test_init_successful_connection(mocker):
engine_mock = MagicMock()
session_mock = MagicMock()
exec_mock = MagicMock(return_value=True)
session_mock.configure_mock(**{'exec.return_value': exec_mock})
mocker.patch('sqlmodel.Session', return_value=session_mock)
mocker.patch.object(logger, 'info')
mocker.patch.object(logger, 'error')
mocker.patch.object(logger, 'warn')
try:
init(engine_mock)
connection_successful = True
except Exception:
connection_successful = False
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."