Esteban Maya 541dd75ce9
Add tests to raise coverage to at least 90% and fix recover password logic (#632)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-03-07 23:21:46 +00:00

29 lines
877 B
Python

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."