summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrique Joaquim <henriquecjoaquim@gmail.com>2024-06-28 10:19:54 +0100
committerGitHub <noreply@github.com>2024-06-28 10:19:54 +0100
commit2eac9d335b23e59698291629ecb38a8de71fbc43 (patch)
treef274ecc7b0c55b44d889b7773db200337eb50a25
parentbb5df6562a20fd1f9cc82b37b39f2b013ecb1afd (diff)
parentcbd3cb57502a3a1616862254697ef2b64f6c0c36 (diff)
Merge branch 'develop' into feature/delay-import
-rw-r--r--build/pypi/openbb_platform/PUBLISH.md2
-rw-r--r--cli/pyproject.toml2
-rw-r--r--openbb_platform/core/openbb_core/app/logs/logging_service.py11
-rw-r--r--openbb_platform/core/openbb_core/app/logs/models/logging_settings.py7
-rw-r--r--openbb_platform/core/pyproject.toml4
-rw-r--r--openbb_platform/core/tests/app/logs/handlers/test_posthog_handler.py15
-rw-r--r--openbb_platform/core/tests/app/logs/test_logging_service.py40
-rw-r--r--openbb_platform/extensions/tests/utils/integration_tests_testers.py4
8 files changed, 48 insertions, 37 deletions
diff --git a/build/pypi/openbb_platform/PUBLISH.md b/build/pypi/openbb_platform/PUBLISH.md
index 413622a9774..04fb747b7ed 100644
--- a/build/pypi/openbb_platform/PUBLISH.md
+++ b/build/pypi/openbb_platform/PUBLISH.md
@@ -87,4 +87,4 @@
### Publish the CLI
1. Bump `openbb` dependency on `cli/pyproject.toml` to the latest version.
-2. Run `poetry publish --build` from `cli` \ No newline at end of file
+2. Run `poetry publish --build` from `cli`
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index 3b502e9843f..d1f2b55bc94 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "openbb-cli"
-version = "1.0.3"
+version = "1.0.4"
description = "Investment Research for Everyone, Anywhere."
authors = ["OpenBB <hello@openbb.co>"]
packages = [{ include = "openbb_cli" }]
diff --git a/openbb_platform/core/openbb_core/app/logs/logging_service.py b/openbb_platform/core/openbb_core/app/logs/logging_service.py
index 42c4b1c8b83..9bbbb71cee3 100644
--- a/openbb_platform/core/openbb_core/app/logs/logging_service.py
+++ b/openbb_platform/core/openbb_core/app/logs/logging_service.py
@@ -185,8 +185,7 @@ class LoggingService(metaclass=SingletonMeta):
],
custom_headers: Optional[Dict[str, Any]] = None,
):
- """
- Log command output and relevant information.
+ """Log command output and relevant information.
Parameters
----------
@@ -200,7 +199,10 @@ class LoggingService(metaclass=SingletonMeta):
Callable representing the executed function.
kwargs : Dict[str, Any]
Keyword arguments passed to the function.
- exec_info : Optional[Tuple[Type[BaseException], BaseException, Optional[TracebackType]]], optional
+ exec_info : Union[
+ Tuple[Type[BaseException], BaseException, TracebackType],
+ Tuple[None, None, None],
+ ]
Exception information, by default None
"""
self._user_settings = user_settings
@@ -223,7 +225,7 @@ class LoggingService(metaclass=SingletonMeta):
kwargs = {k: str(v)[:100] for k, v in kwargs.items()}
# Get execution info
- error = str(exec_info[1]) if exec_info and len(exec_info) > 1 else None
+ error = None if all(i is None for i in exec_info) else str(exec_info[1])
# Construct message
message_label = "ERROR" if error else "CMD"
@@ -237,7 +239,6 @@ class LoggingService(metaclass=SingletonMeta):
default=to_jsonable_python,
)
log_message = f"{message_label}: {log_message}"
-
log_level = logger.error if error else logger.info
log_level(
log_message,
diff --git a/openbb_platform/core/openbb_core/app/logs/models/logging_settings.py b/openbb_platform/core/openbb_core/app/logs/models/logging_settings.py
index 708246f9e9a..f44ed423c6b 100644
--- a/openbb_platform/core/openbb_core/app/logs/models/logging_settings.py
+++ b/openbb_platform/core/openbb_core/app/logs/models/logging_settings.py
@@ -18,9 +18,10 @@ class LoggingSettings:
system_settings: Optional[SystemSettings] = None,
):
"""Initialize the logging settings."""
- user_settings = user_settings or UserSettings()
- system_settings = system_settings or SystemSettings()
-
+ user_settings = user_settings if user_settings is not None else UserSettings()
+ system_settings = (
+ system_settings if system_settings is not None else SystemSettings()
+ )
user_data_directory = (
str(Path.home() / "OpenBBUserData")
if not user_settings.preferences
diff --git a/openbb_platform/core/pyproject.toml b/openbb_platform/core/pyproject.toml
index fa004510daf..c30b5c7169e 100644
--- a/openbb_platform/core/pyproject.toml
+++ b/openbb_platform/core/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "openbb-core"
-version = "1.2.7"
+version = "1.2.9"
description = "OpenBB package with core functionality."
authors = ["OpenBB Team <hello@openbb.co>"]
license = "AGPL-3.0-only"
@@ -22,7 +22,7 @@ requests = "^2.32.1"
importlib-metadata = "^6.8.0"
python-dotenv = "^1.0.0"
aiohttp = "^3.9.5"
-ruff = ">=0.1.6" # Needed here to lint generated code
+ruff = ">=0.1.6" # Needed here to lint generated code
pyjwt = "^2.8.0"
[build-system]
diff --git a/openbb_platform/core/tests/app/logs/handlers/test_posthog_handler.py b/openbb_platform/core/tests/app/logs/handlers/test_posthog_handler.py
index 5e795a4bf5f..fed708c4f5d 100644
--- a/openbb_platform/core/tests/app/logs/handlers/test_posthog_handler.py
+++ b/openbb_platform/core/tests/app/logs/handlers/test_posthog_handler.py
@@ -105,7 +105,10 @@ def test_emit_calls_handleError_when_send_raises_exception(handler):
handler.handleError = MagicMock()
# Act
- handler.emit(record)
+ try:
+ handler.emit(record)
+ except Exception as e:
+ assert isinstance(e, Exception)
# Assert
handler.send.assert_called_once_with(record=record)
@@ -132,7 +135,10 @@ def test_emit_calls_handleError_when_send_raises_exception_of_specific_type(hand
handler.handleError = MagicMock()
# Act
- handler.emit(record)
+ try:
+ handler.emit(record)
+ except Exception as e:
+ assert isinstance(e, ValueError)
# Assert
handler.send.assert_called_once_with(record=record)
@@ -159,7 +165,10 @@ def test_emit_calls_handleError_when_send_raises_exception_of_another_type(handl
handler.handleError = MagicMock()
# Act
- handler.emit(record)
+ try:
+ handler.emit(record)
+ except Exception as e:
+ assert isinstance(e, TypeError)
# Assert
handler.send.assert_called_once_with(record=record)
diff --git a/openbb_platform/core/tests/app/logs/test_logging_service.py b/openbb_platform/core/tests/app/logs/test_logging_service.py
index 8eef4b90137..422f25947ab 100644
--- a/openbb_platform/core/tests/app/logs/test_logging_service.py
+++ b/openbb_platform/core/tests/app/logs/test_logging_service.py
@@ -136,7 +136,7 @@ def test_log_startup(logging_service):
@pytest.mark.parametrize(
- "user_settings, system_settings, route, func, kwargs, exec_info, custom_headers",
+ "user_settings, system_settings, route, func, kwargs, exec_info, custom_headers, expected_log_message",
[
(
"mock_settings",
@@ -144,8 +144,9 @@ def test_log_startup(logging_service):
"mock_route",
"mock_func",
{},
+ (None, None, None),
None,
- None,
+ 'CMD: {"route": "mock_route", "input": {}, "error": null, "custom_headers": null}',
),
(
"mock_settings",
@@ -153,8 +154,13 @@ def test_log_startup(logging_service):
"mock_route",
"mock_func",
{},
- (OpenBBError, OpenBBError("mock_error")),
+ (
+ OpenBBError,
+ OpenBBError("mock_error"),
+ ...,
+ ), # ... is of TracebackType, but unnecessary for the test
{"X-OpenBB-Test": "test"},
+ 'ERROR: {"route": "mock_route", "input": {}, "error": "mock_error", "custom_headers": {"X-OpenBB-Test": "test"}}', # noqa: E501
),
(
"mock_settings",
@@ -162,8 +168,9 @@ def test_log_startup(logging_service):
"login",
"mock_func",
{},
- None,
+ (None, None, None),
{"X-OpenBB-Test1": "test1", "X-OpenBB-Test2": "test2"},
+ "STARTUP",
),
],
)
@@ -176,6 +183,7 @@ def test_log(
kwargs,
exec_info,
custom_headers,
+ expected_log_message,
):
"""Test the log method."""
with patch(
@@ -198,9 +206,6 @@ def test_log(
mock_log_startup.assert_called_once()
else:
- mock_info = mock_get_logger.return_value.info
- mock_error = mock_get_logger.return_value.error
-
mock_callable = Mock()
mock_callable.__name__ = func
@@ -214,26 +219,17 @@ def test_log(
custom_headers=custom_headers,
)
- message_label = "ERROR" if exec_info else "CMD"
- log_message = json.dumps(
- {
- "route": route,
- "input": kwargs,
- "error": str(exec_info[1]) if exec_info else None,
- "custom_headers": custom_headers,
- }
- )
- log_message = f"{message_label}: {log_message}"
-
- if exec_info:
+ if expected_log_message.startswith("ERROR"):
+ mock_error = mock_get_logger.return_value.error
mock_error.assert_called_once_with(
- log_message,
+ expected_log_message,
extra={"func_name_override": "mock_func"},
exc_info=exec_info,
)
- else:
+ if expected_log_message.startswith("CMD"):
+ mock_info = mock_get_logger.return_value.info
mock_info.assert_called_once_with(
- log_message,
+ expected_log_message,
extra={"func_name_override": "mock_func"},
exc_info=exec_info,
)
diff --git a/openbb_platform/extensions/tests/utils/integration_tests_testers.py b/openbb_platform/extensions/tests/utils/integration_tests_testers.py
index 13854844b85..a259f60debd 100644
--- a/openbb_platform/extensions/tests/utils/integration_tests_testers.py
+++ b/openbb_platform/extensions/tests/utils/integration_tests_testers.py
@@ -273,6 +273,10 @@ def check_integration_tests(
processing_command_params, function_params, function, True # type: ignore
)
+ # if "chart" is in missing_items, remove it
+ if "chart" in missing_items:
+ missing_items.remove("chart")
+
all_missing_items.extend(missing_items)
return all_missing_items