✅ 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:
0
backend/app/tests/scripts/__init__.py
Normal file
0
backend/app/tests/scripts/__init__.py
Normal file
28
backend/app/tests/scripts/test_backend_pre_start.py
Normal file
28
backend/app/tests/scripts/test_backend_pre_start.py
Normal 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."
|
28
backend/app/tests/scripts/test_celery_pre_start.py
Normal file
28
backend/app/tests/scripts/test_celery_pre_start.py
Normal 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."
|
28
backend/app/tests/scripts/test_test_pre_start.py
Normal file
28
backend/app/tests/scripts/test_test_pre_start.py
Normal 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."
|
Reference in New Issue
Block a user