mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
* stash some changes * add more robust testing * mypy * point PR at V5 * introduce spec file * codespell * test fix * fix workflow environment setup * fix workflow environment setup * fix workflow environment setup * add pyyaml to dependencies * split lint jobs * fix workflow environment setup * fix workflow environment setup * workflow env setup * workflow env setup * clean up code comments * add auth hook entrypoints * codespell * add codegen feature * codespell * move _unpack into dispatchers for consistency with codegen packages * surface nested models in the response * fix missing coverage in CI * socrata updates * test fix * detect plotly output * add --include and --exclude flags from generate-extension command * cap test matrix at python 3.14 * no useless comments * platform controller command description split * merge URL overloads from path params * exclude none and unset from model dump --------- Co-authored-by: deeleeramone <> Co-authored-by: Copilot <copilot@github.com>
84 lines
2.9 KiB
Python
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"] == ""
|