Files
OpenBB/tests/openbb_terminal/test_loggers.py
Colin Delahunty 1ca7fd9beb Improves the settings/userdata command, and upgrade ruff (#5359)
* Began the fax

* Bumped ruff

* Fixed a BUNCH of ruff errors

* Fixed a lot of ruff errors

* Simplify if statements

* Fixed black

* Updated some stuff

* Updated some stuff

* A lot more ruff fixes

* Added a fix

* Added a fix

* Fixed mypy

* Fixed some stuff

* Reverted one thing

* Small fix

* Small fix

* Small fix

* Added fix

* Added fix

* Update requirements
2023-08-22 20:11:48 +00:00

111 lines
2.7 KiB
Python

from pathlib import Path
import pytest
from openbb_terminal import loggers
from openbb_terminal.core.log.generation.settings import (
AppSettings,
AWSSettings,
LogSettings,
Settings,
)
settings = Settings(
app_settings=AppSettings(
commit_hash="MOCK_COMMIT_HASH",
name="MOCK_COMMIT_HASH",
identifier="MOCK_COMMIT_HASH",
session_id="MOCK_SESSION_ID",
user_id="MOCK_USER_ID",
),
aws_settings=AWSSettings(
aws_access_key_id="MOCK_AWS_ACCESS_KEY_ID",
aws_secret_access_key="MOCK_AWS", # pragma: allowlist secret # noqa: S106
),
log_settings=LogSettings(
directory=Path("."),
frequency="H",
handler_list=["file"],
rolling_clock=False,
verbosity=20,
),
)
def throw_os_error():
raise OSError("This is a test error")
def throw_os_error_30():
e = OSError()
e.errno = 30
raise e
def throw_generic():
raise Exception("This is a test error")
@pytest.mark.parametrize(
"to_mock", [None, throw_os_error, throw_os_error_30, throw_generic]
)
def test_get_app_id(to_mock, mocker):
if to_mock:
mocker.patch("openbb_terminal.loggers.get_log_dir", to_mock)
with pytest.raises(Exception):
value = loggers.get_app_id()
else:
value = loggers.get_app_id()
assert value
@pytest.mark.parametrize("git", [True, False])
def test_get_commit_hash(mocker, git):
mocker.patch("openbb_terminal.loggers.WITH_GIT", git)
value = loggers.get_commit_hash()
assert value
def test_get_commit_hash_obff(mocker):
class MockSystem: # pylint: disable=too-few-public-methods
def __init__(self):
self.LOGGING_COMMIT_HASH = "MOCK_COMMIT_HASH"
mocker.patch(
"openbb_terminal.loggers.get_current_system",
MockSystem,
)
value = loggers.get_commit_hash()
assert value
@pytest.mark.skip(reason="Change the state of the logger.")
def test_add_stdout_handler():
loggers.add_stdout_handler(settings)
@pytest.mark.skip(reason="Change the state of the logger.")
def test_add_stderr_handler():
loggers.add_stderr_handler(settings)
@pytest.mark.skip(reason="Change the state of the logger.")
def test_add_nopp_handler():
loggers.add_noop_handler(settings)
@pytest.mark.skip(reason="Change the state of the logger + lead to file generation.")
def test_add_file_handler():
loggers.add_file_handler(settings)
@pytest.mark.skip(reason="Change the state of the logger.")
def test_setup_handlers():
loggers.setup_handlers(settings)
@pytest.mark.skip(reason="Change the state of the logger.")
def test_setup_logging(mocker):
mocker.patch("openbb_terminal.loggers.setup_handlers")
loggers.setup_logging(settings)