summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-05-14 23:11:02 -0700
committerDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-05-14 23:11:02 -0700
commita5ec56ed39a08a09f824ac0f37ea1f40df82e67b (patch)
treef9b1e39d170928fdd3018623398844a7ce015b4f
parent1988ad5309ad02dffb0d917e7cf7f83477ca3673 (diff)
integration tests
-rw-r--r--openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py43
-rw-r--r--openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py42
-rw-r--r--openbb_platform/extensions/fixedincome/openbb_fixedincome/government/government_router.py18
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/yield_curve.py2
4 files changed, 103 insertions, 2 deletions
diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py
index da9c88c77c4..45e7c86a685 100644
--- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py
+++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py
@@ -623,3 +623,46 @@ def test_fixedincome_corporate_bond_prices(params, headers):
result = requests.get(url, headers=headers, timeout=40)
assert isinstance(result, requests.Response)
assert result.status_code == 200
+
+
+@parametrize(
+ "params",
+ [
+ ({"date": "2023-05-01,2024-05-01", "provider": "fmp"}),
+ (
+ {
+ "date": "2023-05-01",
+ "country": "united_kingdom",
+ "provider": "econdb",
+ "use_cache": True,
+ }
+ ),
+ (
+ {
+ "provider": "ecb",
+ "yield_curve_type": "par_yield",
+ "date": None,
+ "rating": "aaa",
+ "use_cache": True,
+ }
+ ),
+ (
+ {
+ "provider": "fred",
+ "yield_curve_type": "nominal",
+ "date": "2023-05-01,2024-05-01",
+ }
+ ),
+ ({"provider": "federal_reserve", "date": "2023-05-01,2024-05-01"}),
+ ],
+)
+@pytest.mark.integration
+def test_fixedincome_government_yield_curve(params, headers):
+ """Test the treasury rates endpoint."""
+ params = {p: v for p, v in params.items() if v}
+
+ query_str = get_querystring(params, [])
+ url = f"http://0.0.0.0:8000/api/v1/fixedincome/government/yield_curve?{query_str}"
+ result = requests.get(url, headers=headers, timeout=10)
+ assert isinstance(result, requests.Response)
+ assert result.status_code == 200
diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py
index 57ba30d7fad..3efa8727269 100644
--- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py
+++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py
@@ -578,3 +578,45 @@ def test_fixedincome_corporate_bond_prices(params, obb):
assert result
assert isinstance(result, OBBject)
assert len(result.results) > 0
+
+
+@parametrize(
+ "params",
+ [
+ ({"date": "2023-05-01,2024-05-01", "provider": "fmp"}),
+ (
+ {
+ "date": "2023-05-01",
+ "country": "united_kingdom",
+ "provider": "econdb",
+ "use_cache": True,
+ }
+ ),
+ (
+ {
+ "provider": "ecb",
+ "yield_curve_type": "par_yield",
+ "date": None,
+ "rating": "aaa",
+ "use_cache": True,
+ }
+ ),
+ (
+ {
+ "provider": "fred",
+ "yield_curve_type": "nominal",
+ "date": "2023-05-01,2024-05-01",
+ }
+ ),
+ ({"provider": "federal_reserve", "date": "2023-05-01,2024-05-01"}),
+ ],
+)
+@pytest.mark.integration
+def test_fixedincome_government_yield_curve(params, obb):
+ """Test the government yield curve endpoint."""
+ params = {p: v for p, v in params.items() if v}
+
+ result = obb.fixedincome.government.yield_curve(**params)
+ assert result
+ assert isinstance(result, OBBject)
+ assert len(result.results) > 0
diff --git a/openbb_platform/extensions/fixedincome/openbb_fixedincome/government/government_router.py b/openbb_platform/extensions/fixedincome/openbb_fixedincome/government/government_router.py
index 0969416aab1..eb97388ad9c 100644
--- a/openbb_platform/extensions/fixedincome/openbb_fixedincome/government/government_router.py
+++ b/openbb_platform/extensions/fixedincome/openbb_fixedincome/government/government_router.py
@@ -1,5 +1,6 @@
"""Fixed Income Government Router."""
+from openbb_core.app.deprecation import OpenBBDeprecationWarning
from openbb_core.app.model.command_context import CommandContext
from openbb_core.app.model.example import APIEx
from openbb_core.app.model.obbject import OBBject
@@ -19,8 +20,11 @@ router = Router(prefix="/government")
@router.command(
model="YieldCurve",
examples=[
- APIEx(parameters={"provider": "econdb"}),
+ APIEx(parameters={"provider": "federal_reserve"}),
+ APIEx(parameters={"date": "2023-05-01,2024-05-01", "provider": "fmp"}),
APIEx(parameters={"date": "2023-05-01", "country": "united_kingdom", "provider": "econdb"}),
+ APIEx(parameters={"provider": "ecb", "yield_curve_type": "par_yield"}),
+ APIEx(parameters={"provider": "fred", "yield_curve_type": "real", "date": "2023-05-01,2024-05-01"})
],
)
async def yield_curve(
@@ -35,6 +39,12 @@ async def yield_curve(
@router.command(
model="USYieldCurve",
+ deprecated=True,
+ deprecation=OpenBBDeprecationWarning(
+ message="This endpoint will be removed in a future version. Use, `/fixedincome/government/yield_curve`, instead.",
+ since=(4, 1),
+ expected_removal=(4, 3),
+ ),
examples=[
APIEx(parameters={"provider": "fred"}),
APIEx(parameters={"inflation_adjusted": True, "provider": "fred"}),
@@ -52,6 +62,12 @@ async def us_yield_curve(
@router.command(
model="EUYieldCurve",
+ deprecated=True,
+ deprecation=OpenBBDeprecationWarning(
+ message="This endpoint will be removed in a future version. Use, `/fixedincome/government/yield_curve`, instead.",
+ since=(4, 1),
+ expected_removal=(4, 3),
+ ),
examples=[
APIEx(parameters={"provider": "ecb"}),
APIEx(parameters={"yield_curve_type": "spot_rate", "provider": "ecb"}),
diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/yield_curve.py b/openbb_platform/providers/fmp/openbb_fmp/models/yield_curve.py
index 8e2e3d8f245..634795023b2 100644
--- a/openbb_platform/providers/fmp/openbb_fmp/models/yield_curve.py
+++ b/openbb_platform/providers/fmp/openbb_fmp/models/yield_curve.py
@@ -91,7 +91,7 @@ class FMPYieldCurveFetcher(
"""Return the transformed data."""
if not data:
raise EmptyDataError("The request was returned empty.")
- df = DataFrame(data).set_index("date")
+ df = DataFrame(data).set_index("date").sort_index()
dates = query.date.split(",") if query.date else [df.index.max()]
df.index = DatetimeIndex(df.index)
dates_list = DatetimeIndex(dates)