diff options
Diffstat (limited to 'openbb_platform/extensions/economy/integration/test_economy_api.py')
-rw-r--r-- | openbb_platform/extensions/economy/integration/test_economy_api.py | 170 |
1 files changed, 164 insertions, 6 deletions
diff --git a/openbb_platform/extensions/economy/integration/test_economy_api.py b/openbb_platform/extensions/economy/integration/test_economy_api.py index 3f7998c14de..118c16c3cee 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_api.py +++ b/openbb_platform/extensions/economy/integration/test_economy_api.py @@ -71,10 +71,10 @@ def test_economy_calendar(params, headers): ( { "country": "spain", - "units": "growth_same", - "frequency": "monthly", - "harmonized": True, - "start_date": "2023-01-01", + "transform": "yoy", + "frequency": "annual", + "harmonized": False, + "start_date": "2020-01-01", "end_date": "2023-06-06", "provider": "fred", } @@ -82,7 +82,7 @@ def test_economy_calendar(params, headers): ( { "country": "portugal,spain", - "units": "growth_same", + "transform": "period", "frequency": "monthly", "harmonized": True, "start_date": "2023-01-01", @@ -90,6 +90,18 @@ def test_economy_calendar(params, headers): "provider": "fred", } ), + ( + { + "country": "portugal,spain", + "transform": "yoy", + "frequency": "quarter", + "harmonized": False, + "start_date": "2020-01-01", + "end_date": "2023-06-06", + "provider": "oecd", + "expenditure": "transport", + } + ), ], ) @pytest.mark.integration @@ -419,7 +431,6 @@ def test_economy_money_measures(params, headers): @parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06", "provider": "oecd"}), ( { "country": "united_states", @@ -657,3 +668,150 @@ def test_economy_country_profile(params, headers): result = requests.get(url, headers=headers, timeout=30) assert isinstance(result, requests.Response) assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "date": None, + "provider": "federal_reserve", + "holding_type": "all_treasury", + "summary": False, + "monthly": False, + "cusip": None, + "wam": False, + } + ), + ( + { + "date": None, + "provider": "federal_reserve", + "holding_type": "all_agency", + "summary": False, + "monthly": False, + "cusip": None, + "wam": True, + } + ), + ], +) +@pytest.mark.integration +def test_economy_central_bank_holdings(params, headers): + """Test the economy central bank holdings.""" + 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/economy/central_bank_holdings?{query_str}" + result = requests.get(url, headers=headers, timeout=5) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "country": "united_states,united_kingdom", + "frequency": "monthly", + "provider": "oecd", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + } + ), + ], +) +@pytest.mark.integration +def test_economy_share_price_index(params, headers): + """Test the economy share price index.""" + 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/economy/share_price_index?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "country": "united_states,united_kingdom", + "frequency": "quarter", + "provider": "oecd", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + "transform": "index", + } + ), + ], +) +@pytest.mark.integration +def test_economy_house_price_index(params, headers): + """Test the economy house price index.""" + 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/economy/house_price_index?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "country": "united_states,united_kingdom", + "frequency": "monthly", + "provider": "oecd", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + } + ), + ], +) +@pytest.mark.integration +def test_economy_immediate_interest_rate(params, headers): + """Test the economy immediate_interest_rate.""" + 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/economy/immediate_interest_rate?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@parametrize( + "params", + [ + ( + { + "country": "united_states", + "item": "meats", + "region": "all_city", + "frequency": "annual", + "provider": "fred", + "start_date": "2022-01-01", + "end_date": "2024-04-01", + "transform": "pc1", + } + ), + ], +) +@pytest.mark.integration +def test_economy_retail_prices(params, headers): + """Test the economy retail_prices.""" + 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/economy/retail_prices?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 |