diff options
author | Henrique Joaquim <henriquecjoaquim@gmail.com> | 2024-06-28 10:19:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-28 10:19:54 +0100 |
commit | 2eac9d335b23e59698291629ecb38a8de71fbc43 (patch) | |
tree | f274ecc7b0c55b44d889b7773db200337eb50a25 | |
parent | bb5df6562a20fd1f9cc82b37b39f2b013ecb1afd (diff) | |
parent | cbd3cb57502a3a1616862254697ef2b64f6c0c36 (diff) |
Merge branch 'develop' into feature/delay-import
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 |