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>
This commit is contained in:
Esteban Maya
2024-03-07 18:21:46 -05:00
committed by GitHub
parent c6703e41b2
commit 541dd75ce9
14 changed files with 561 additions and 17 deletions

View File

View File

@@ -0,0 +1,28 @@
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."

View File

@@ -0,0 +1,28 @@
from unittest.mock import MagicMock
from sqlmodel import select
from app.celeryworker_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."

View File

@@ -0,0 +1,28 @@
from unittest.mock import MagicMock
from sqlmodel import select
from app.tests_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."