committed by
GitHub
7 changed files with 120 additions and 171 deletions
@ -1,33 +1,30 @@ |
|||||
from unittest.mock import MagicMock |
from unittest.mock import MagicMock, patch |
||||
|
|
||||
from pytest_mock import MockerFixture |
|
||||
from sqlmodel import select |
from sqlmodel import select |
||||
|
|
||||
from app.backend_pre_start import init, logger |
from app.backend_pre_start import init, logger |
||||
|
|
||||
|
|
||||
def test_init_successful_connection(mocker: MockerFixture) -> None: |
def test_init_successful_connection() -> None: |
||||
engine_mock = MagicMock() |
engine_mock = MagicMock() |
||||
|
|
||||
session_mock = MagicMock() |
session_mock = MagicMock() |
||||
exec_mock = MagicMock(return_value=True) |
exec_mock = MagicMock(return_value=True) |
||||
session_mock.configure_mock(**{"exec.return_value": exec_mock}) |
session_mock.configure_mock(**{"exec.return_value": exec_mock}) |
||||
mocker.patch("sqlmodel.Session", return_value=session_mock) |
|
||||
|
|
||||
mocker.patch.object(logger, "info") |
with patch("sqlmodel.Session", return_value=session_mock), patch.object( |
||||
mocker.patch.object(logger, "error") |
logger, "info" |
||||
mocker.patch.object(logger, "warn") |
), patch.object(logger, "error"), patch.object(logger, "warn"): |
||||
|
try: |
||||
try: |
init(engine_mock) |
||||
init(engine_mock) |
connection_successful = True |
||||
connection_successful = True |
except Exception: |
||||
except Exception: |
connection_successful = False |
||||
connection_successful = False |
|
||||
|
assert ( |
||||
assert ( |
connection_successful |
||||
connection_successful |
), "The database connection should be successful and not raise an exception." |
||||
), "The database connection should be successful and not raise an exception." |
|
||||
|
assert session_mock.exec.called_once_with( |
||||
assert session_mock.exec.called_once_with( |
select(1) |
||||
select(1) |
), "The session should execute a select statement once." |
||||
), "The session should execute a select statement once." |
|
||||
|
@ -1,33 +1,30 @@ |
|||||
from unittest.mock import MagicMock |
from unittest.mock import MagicMock, patch |
||||
|
|
||||
from pytest_mock import MockerFixture |
|
||||
from sqlmodel import select |
from sqlmodel import select |
||||
|
|
||||
from app.tests_pre_start import init, logger |
from app.tests_pre_start import init, logger |
||||
|
|
||||
|
|
||||
def test_init_successful_connection(mocker: MockerFixture) -> None: |
def test_init_successful_connection() -> None: |
||||
engine_mock = MagicMock() |
engine_mock = MagicMock() |
||||
|
|
||||
session_mock = MagicMock() |
session_mock = MagicMock() |
||||
exec_mock = MagicMock(return_value=True) |
exec_mock = MagicMock(return_value=True) |
||||
session_mock.configure_mock(**{"exec.return_value": exec_mock}) |
session_mock.configure_mock(**{"exec.return_value": exec_mock}) |
||||
mocker.patch("sqlmodel.Session", return_value=session_mock) |
|
||||
|
|
||||
mocker.patch.object(logger, "info") |
with patch("sqlmodel.Session", return_value=session_mock), patch.object( |
||||
mocker.patch.object(logger, "error") |
logger, "info" |
||||
mocker.patch.object(logger, "warn") |
), patch.object(logger, "error"), patch.object(logger, "warn"): |
||||
|
try: |
||||
try: |
init(engine_mock) |
||||
init(engine_mock) |
connection_successful = True |
||||
connection_successful = True |
except Exception: |
||||
except Exception: |
connection_successful = False |
||||
connection_successful = False |
|
||||
|
assert ( |
||||
assert ( |
connection_successful |
||||
connection_successful |
), "The database connection should be successful and not raise an exception." |
||||
), "The database connection should be successful and not raise an exception." |
|
||||
|
assert session_mock.exec.called_once_with( |
||||
assert session_mock.exec.called_once_with( |
select(1) |
||||
select(1) |
), "The session should execute a select statement once." |
||||
), "The session should execute a select statement once." |
|
||||
|
@ -1,6 +0,0 @@ |
|||||
#!/usr/bin/env bash |
|
||||
|
|
||||
set -e |
|
||||
set -x |
|
||||
|
|
||||
bash scripts/test.sh --cov-report=html "${@}" |
|
Loading…
Reference in new issue