From b2209b7e983242d41f726eccb129b5d5eefa47b6 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 3 Oct 2024 15:47:24 -0700 Subject: [PATCH] [BugFix] Fix Some Tests (#6736) * fix test_auto_build * yfinance integration test params * treasury auctions param * remove bad characters from sec litigation rss before parsing * actually commit it --- .../extensions/etf/integration/test_etf_api.py | 4 ++-- .../extensions/etf/integration/test_etf_python.py | 4 ++-- .../integration/test_fixedincome_api.py | 2 +- .../integration/test_fixedincome_python.py | 2 +- .../sec/openbb_sec/models/rss_litigation.py | 15 +++++++++++---- openbb_platform/tests/test_auto_build.py | 4 +--- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/openbb_platform/extensions/etf/integration/test_etf_api.py b/openbb_platform/extensions/etf/integration/test_etf_api.py index 5b1d29f957c..b4226d6c817 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_api.py +++ b/openbb_platform/extensions/etf/integration/test_etf_api.py @@ -158,8 +158,8 @@ def test_etf_search(params, headers): "adjustment": "splits_and_dividends", "provider": "yfinance", "symbol": "SPY", - "start_date": "2023-06-01", - "end_date": "2023-06-03", + "start_date": None, + "end_date": None, "interval": "1h", } ), diff --git a/openbb_platform/extensions/etf/integration/test_etf_python.py b/openbb_platform/extensions/etf/integration/test_etf_python.py index f63d0e9f6ad..dbbea4981b4 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_python.py +++ b/openbb_platform/extensions/etf/integration/test_etf_python.py @@ -153,8 +153,8 @@ def test_etf_search(params, obb): "adjustment": "splits_and_dividends", "provider": "yfinance", "symbol": "SPY", - "start_date": "2023-06-01", - "end_date": "2023-06-03", + "start_date": None, + "end_date": None, "interval": "1h", } ), diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py index d80237fbb4e..1d22ca11f5d 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py @@ -572,7 +572,7 @@ def test_fixedincome_government_eu_yield_curve(params, headers): "cusip": None, "page_size": None, "page_num": None, - "security_type": "Bond", + "security_type": "bond", "provider": "government_us", } ), diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py index 85392babdd3..73194b6a6ce 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py @@ -529,7 +529,7 @@ def test_fixedincome_government_eu_yield_curve(params, obb): "cusip": None, "page_size": None, "page_num": None, - "security_type": "Bond", + "security_type": "bond", "provider": "government_us", } ), diff --git a/openbb_platform/providers/sec/openbb_sec/models/rss_litigation.py b/openbb_platform/providers/sec/openbb_sec/models/rss_litigation.py index f56e35d4098..884d2ca8e02 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/rss_litigation.py +++ b/openbb_platform/providers/sec/openbb_sec/models/rss_litigation.py @@ -52,9 +52,10 @@ class SecRssLitigationFetcher( ) -> List[Dict]: """Return the raw data from the SEC endpoint.""" # pylint: disable=import-outside-toplevel - import xmltodict # noqa - from openbb_core.provider.utils.helpers import make_request # noqa - from pandas import DataFrame, to_datetime # noqa + import re # noqa + import xmltodict + from openbb_core.provider.utils.helpers import make_request + from pandas import DataFrame, to_datetime results: List = [] url = "https://www.sec.gov/enforcement-litigation/litigation-releases/rss" @@ -63,7 +64,13 @@ class SecRssLitigationFetcher( if r.status_code != 200: raise OpenBBError(f"Status code {r.status_code} returned.") - data = xmltodict.parse(r.content) + def clean_xml(xml_content): + """Clean the XML content before parsing.""" + xml_content = re.sub(r"&(?!amp;|lt;|gt;|quot;|apos;)", "&", xml_content) + return xml_content + + cleaned_content = clean_xml(r.text) + data = xmltodict.parse(cleaned_content) cols = ["title", "link", "summary", "date", "id"] feed = DataFrame.from_records(data["rss"]["channel"]["item"])[ ["title", "link", "description", "pubDate", "dc:creator"] diff --git a/openbb_platform/tests/test_auto_build.py b/openbb_platform/tests/test_auto_build.py index bd6acd65fd6..42dc3c6e2fa 100644 --- a/openbb_platform/tests/test_auto_build.py +++ b/openbb_platform/tests/test_auto_build.py @@ -12,9 +12,7 @@ import pytest @pytest.fixture(autouse=True) def setup_mocks(): """Set up mocks for the test.""" - with patch( - "openbb_core.app.static.package_builder.PackageBuilder.auto_build" - ) as mock_auto_build: + with patch("openbb._PackageBuilder.auto_build") as mock_auto_build: mock_auto_build.return_value = None yield mock_auto_build