mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 04:58:19 -04:00
added tests
This commit is contained in:
61
tests/test_common.py
Normal file
61
tests/test_common.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""test_common."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from os import environ
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from apprise import Apprise
|
||||
|
||||
from python.common import bash_wrapper, signal_alert, utcnow
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from pytest_mock import MockerFixture
|
||||
|
||||
|
||||
def test_utcnow() -> None:
|
||||
"""test_utcnow."""
|
||||
utcnow()
|
||||
|
||||
|
||||
def test_signal_alert(mocker: MockerFixture) -> None:
|
||||
"""test_signal_alert."""
|
||||
environ["SIGNAL_ALERT_FROM_PHONE"] = "1234567890"
|
||||
environ["SIGNAL_ALERT_TO_PHONE"] = "0987654321"
|
||||
|
||||
mock_logger = mocker.patch("python.common.logger")
|
||||
mock_apprise_client = mocker.MagicMock(spec=Apprise)
|
||||
mocker.patch("python.common.Apprise", return_value=mock_apprise_client)
|
||||
|
||||
signal_alert("test")
|
||||
|
||||
mock_logger.info.assert_not_called()
|
||||
mock_apprise_client.add.assert_called_once_with("signal://localhost:8989/1234567890/0987654321")
|
||||
mock_apprise_client.notify.assert_called_once_with(title="", body="test")
|
||||
|
||||
|
||||
def test_signal_alert_no_phones(mocker: MockerFixture) -> None:
|
||||
"""test_signal_alert_no_phones."""
|
||||
if "SIGNAL_ALERT_FROM_PHONE" in environ:
|
||||
del environ["SIGNAL_ALERT_FROM_PHONE"]
|
||||
if "SIGNAL_ALERT_TO_PHONE" in environ:
|
||||
del environ["SIGNAL_ALERT_TO_PHONE"]
|
||||
mock_logger = mocker.patch("python.common.logger")
|
||||
signal_alert("test")
|
||||
|
||||
mock_logger.info.assert_called_once_with("SIGNAL_ALERT_FROM_PHONE or SIGNAL_ALERT_TO_PHONE not set")
|
||||
|
||||
|
||||
def test_test_bash_wrapper() -> None:
|
||||
"""test_test_bash_wrapper."""
|
||||
stdout, returncode = bash_wrapper("echo test")
|
||||
assert stdout == "test\n"
|
||||
assert returncode == 0
|
||||
|
||||
|
||||
def test_test_bash_wrapper_error() -> None:
|
||||
"""test_test_bash_wrapper_error."""
|
||||
expected_error = 2
|
||||
stdout, returncode = bash_wrapper("ls /this/path/does/not/exist")
|
||||
assert stdout == "ls: cannot access '/this/path/does/not/exist': No such file or directory\n"
|
||||
assert returncode == expected_error
|
||||
Reference in New Issue
Block a user