Files
OpenBB/cli/tests/test_utils_utils.py
Danglewood 869cfed125 [Release] openbb-v5.0.0 (#7741)
* merge branch develop with main

* bump desktop version

* fix the merge

* sync Cargo.lock to desktop 2.0.0

* fix cli conftest.py

---------

Co-authored-by: deeleeramone <>
2026-09-29 10:58:44 -07:00

84 lines
2.9 KiB
Python

"""Test the utils/utils module."""
import json
class TestChangeLoggingSubApp:
def test_sets_cli_sub_app(self, tmp_path):
"""Test that change_logging_sub_app sets logging_sub_app to 'cli'."""
settings_file = tmp_path / "system_settings.json"
settings_file.write_text(json.dumps({"logging_sub_app": ""}))
from unittest.mock import patch
with patch("openbb_cli.utils.utils.SYSTEM_SETTINGS_PATH", settings_file):
from openbb_cli.utils.utils import change_logging_sub_app
initial = change_logging_sub_app()
assert initial == ""
data = json.loads(settings_file.read_text())
assert data["logging_sub_app"] == "cli"
def test_returns_previous_value(self, tmp_path):
"""Test it returns the previous logging_sub_app value."""
settings_file = tmp_path / "system_settings.json"
settings_file.write_text(json.dumps({"logging_sub_app": "sdk"}))
from unittest.mock import patch
with patch("openbb_cli.utils.utils.SYSTEM_SETTINGS_PATH", settings_file):
from openbb_cli.utils.utils import change_logging_sub_app
initial = change_logging_sub_app()
assert initial == "sdk"
def test_creates_key_if_missing(self, tmp_path):
"""Test it handles missing logging_sub_app key."""
settings_file = tmp_path / "system_settings.json"
settings_file.write_text(json.dumps({}))
from unittest.mock import patch
with patch("openbb_cli.utils.utils.SYSTEM_SETTINGS_PATH", settings_file):
from openbb_cli.utils.utils import change_logging_sub_app
initial = change_logging_sub_app()
assert initial == ""
data = json.loads(settings_file.read_text())
assert data["logging_sub_app"] == "cli"
class TestResetLoggingSubApp:
def test_resets_to_original(self, tmp_path):
"""Test that reset_logging_sub_app restores the original value."""
settings_file = tmp_path / "system_settings.json"
settings_file.write_text(json.dumps({"logging_sub_app": "cli"}))
from unittest.mock import patch
with patch("openbb_cli.utils.utils.SYSTEM_SETTINGS_PATH", settings_file):
from openbb_cli.utils.utils import reset_logging_sub_app
reset_logging_sub_app("sdk")
data = json.loads(settings_file.read_text())
assert data["logging_sub_app"] == "sdk"
def test_resets_to_empty(self, tmp_path):
"""Test resetting to empty string."""
settings_file = tmp_path / "system_settings.json"
settings_file.write_text(json.dumps({"logging_sub_app": "cli"}))
from unittest.mock import patch
with patch("openbb_cli.utils.utils.SYSTEM_SETTINGS_PATH", settings_file):
from openbb_cli.utils.utils import reset_logging_sub_app
reset_logging_sub_app("")
data = json.loads(settings_file.read_text())
assert data["logging_sub_app"] == ""