diff --git a/openbb_platform/extensions/crypto/integration/test_crypto_api.py b/openbb_platform/extensions/crypto/integration/test_crypto_api.py index 54d67068e31..8bec440e201 100644 --- a/openbb_platform/extensions/crypto/integration/test_crypto_api.py +++ b/openbb_platform/extensions/crypto/integration/test_crypto_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -28,6 +28,7 @@ def headers(): "symbol": "BTCUSD", "start_date": "2023-01-01", "end_date": "2023-01-02", + "timeseries": 1, } ), ( @@ -37,6 +38,7 @@ def headers(): "symbol": "BTCUSD", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( @@ -93,6 +95,6 @@ def test_crypto_load(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/crypto/load?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/crypto/integration/test_crypto_python.py b/openbb_platform/extensions/crypto/integration/test_crypto_python.py index 7df073d0ac0..f621443a166 100644 --- a/openbb_platform/extensions/crypto/integration/test_crypto_python.py +++ b/openbb_platform/extensions/crypto/integration/test_crypto_python.py @@ -31,6 +31,7 @@ def obb(pytestconfig): "symbol": "BTCUSD", "start_date": "2023-01-01", "end_date": "2023-01-02", + "timeseries": 1, } ), ( @@ -40,6 +41,7 @@ def obb(pytestconfig): "symbol": "BTCUSD", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( diff --git a/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py b/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py index e8871463163..482e070fb65 100644 --- a/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py +++ b/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py @@ -10,7 +10,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -31,7 +31,7 @@ def get_data(menu: str, symbol: str, provider: str): """Randomly pick a symbol and a provider and get data from the selected menu.""" url = f"http://0.0.0.0:8000/api/v1/{menu}/load?symbol={symbol}&provider={provider}" - result = requests.get(url, headers=auth_header(), timeout=5) + result = requests.get(url, headers=auth_header(), timeout=10) return result.json()["results"] @@ -75,7 +75,7 @@ def test_econometrics_corr(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/corr?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -100,7 +100,7 @@ def test_econometrics_ols_summary(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/ols_summary?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=body) + result = requests.post(url, headers=headers, timeout=10, data=body) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -125,7 +125,7 @@ def test_econometrics_dwat(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/dwat?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=body) + result = requests.post(url, headers=headers, timeout=10, data=body) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -164,7 +164,7 @@ def test_econometrics_bgot(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/bgot?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=body) + result = requests.post(url, headers=headers, timeout=10, data=body) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -199,7 +199,7 @@ def test_econometrics_coint(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/coint?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=body) + result = requests.post(url, headers=headers, timeout=10, data=body) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -211,7 +211,7 @@ def test_econometrics_coint(params, headers): { "data": get_stocks_data(), "y_column": "volume", - "x_columns": "close", + "x_column": "close", "lag": "", } ), @@ -219,7 +219,7 @@ def test_econometrics_coint(params, headers): { "data": get_crypto_data(), "y_column": "volume", - "x_columns": "close", + "x_column": "close", "lag": "2", } ), @@ -232,7 +232,7 @@ def test_econometrics_granger(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/granger?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -251,6 +251,6 @@ def test_econometrics_unitroot(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/econometrics/unitroot?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py index 39212b293dd..ee6d32e0fea 100644 --- a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py +++ b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py @@ -180,7 +180,7 @@ def test_econometrics_coint(params, obb): { "data": get_stocks_data(), "y_column": "volume", - "x_columns": "close", + "x_column": "close", "lag": "", } ), @@ -188,7 +188,7 @@ def test_econometrics_coint(params, obb): { "data": get_crypto_data(), "y_column": "volume", - "x_columns": "close", + "x_column": "close", "lag": "2", } ), diff --git a/openbb_platform/extensions/economy/integration/test_economy_api.py b/openbb_platform/extensions/economy/integration/test_economy_api.py index 2c22d197ea5..d7e98bf85ce 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_api.py +++ b/openbb_platform/extensions/economy/integration/test_economy_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -27,7 +27,7 @@ def test_economy_const(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/const?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -53,7 +53,7 @@ def test_economy_cpi(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/cpi?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -87,6 +87,7 @@ def test_economy_cpi(params, headers): "symbol": "^DJI", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( @@ -96,6 +97,7 @@ def test_economy_cpi(params, headers): "symbol": "^DJI", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( @@ -156,7 +158,7 @@ def test_economy_index(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/index?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -191,7 +193,7 @@ def test_economy_european_index(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/european_index?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -206,14 +208,19 @@ def test_economy_european_index_constituents(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/european_index_constituents?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @pytest.mark.parametrize( "params", - [({}), ({"europe": True, "provider": "cboe"})], + [ + ({}), + ({"europe": True, "provider": "cboe"}), + ({"provider": "fmp"}), + ({"provider": "yfinance"}), + ], ) @pytest.mark.integration def test_economy_available_indices(params, headers): @@ -221,7 +228,7 @@ def test_economy_available_indices(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/available_indices?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -236,7 +243,7 @@ def test_economy_risk(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/risk?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -261,7 +268,7 @@ def test_economy_index_search(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/index_search?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -276,7 +283,7 @@ def test_economy_index_snapshots(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/index_snapshots?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -291,7 +298,7 @@ def test_economy_cot_search(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/cot_search?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -321,7 +328,7 @@ def test_economy_cot(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/cot?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -346,7 +353,7 @@ def test_economy_sp500_multiples(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/sp500_multiples?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -370,6 +377,6 @@ def test_economy_fred_index(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/economy/fred_index?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/economy/integration/test_economy_python.py b/openbb_platform/extensions/economy/integration/test_economy_python.py index 78b967dfffe..a5d8ab147fb 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_python.py +++ b/openbb_platform/extensions/economy/integration/test_economy_python.py @@ -86,6 +86,7 @@ def test_economy_cpi(params): "symbol": "^DJI", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( @@ -95,6 +96,7 @@ def test_economy_cpi(params): "symbol": "^DJI", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( @@ -214,6 +216,8 @@ def test_economy_european_index_constituents(params): [ ({}), ({"europe": True, "provider": "cboe"}), + ({"provider": "fmp"}), + ({"provider": "yfinance"}), ], ) @pytest.mark.integration diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py index 3a96790948c..cb750ba3fa3 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -27,7 +27,7 @@ def test_fixedincome_treasury(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/treasury?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -42,7 +42,7 @@ def test_fixedincome_ycrv(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/ycrv?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -67,7 +67,7 @@ def test_fixedincome_sofr(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/sofr?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -92,7 +92,7 @@ def test_fixedincome_estr(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/estr?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -117,7 +117,7 @@ def test_fixedincome_sonia(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/sonia?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -142,7 +142,7 @@ def test_fixedincome_ameribor(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/ameribor?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -167,7 +167,7 @@ def test_fixedincome_fed(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/fed?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -182,7 +182,7 @@ def test_fixedincome_projections(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/projections?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -197,6 +197,6 @@ def test_fixedincome_iorb(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/fixedincome/iorb?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/forex/integration/test_forex_api.py b/openbb_platform/extensions/forex/integration/test_forex_api.py index fa2880bbdb4..c1438b736a6 100644 --- a/openbb_platform/extensions/forex/integration/test_forex_api.py +++ b/openbb_platform/extensions/forex/integration/test_forex_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -33,6 +33,16 @@ def headers(): "provider": "polygon", } ), + ( + { + "provider": "fmp", + } + ), + ( + { + "provider": "intrinio", + } + ), ], ) @pytest.mark.integration @@ -41,7 +51,7 @@ def test_forex_pairs(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/forex/pairs?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -62,7 +72,7 @@ def test_forex_pairs(params, headers): ( { "interval": "1day", - "provider": "fmp", + "provider": "intrinio", "symbol": "EURUSD", "start_date": "2023-01-01", "end_date": "2023-06-06", @@ -122,6 +132,6 @@ def test_forex_load(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/forex/load?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/forex/integration/test_forex_python.py b/openbb_platform/extensions/forex/integration/test_forex_python.py index 710858406ff..5d2beb30d5e 100644 --- a/openbb_platform/extensions/forex/integration/test_forex_python.py +++ b/openbb_platform/extensions/forex/integration/test_forex_python.py @@ -31,6 +31,16 @@ def obb(pytestconfig): "provider": "polygon", } ), + ( + { + "provider": "fmp", + } + ), + ( + { + "provider": "intrinio", + } + ), ], ) @pytest.mark.integration @@ -44,13 +54,7 @@ def test_forex_pairs(params, obb): @pytest.mark.parametrize( "params", [ - ( - { - "symbol": "EURUSD", - "start_date": "2023-01-01", - "end_date": "2023-06-06", - } - ), + ({"symbol": "EURUSD", "start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { "interval": "1min", @@ -63,7 +67,7 @@ def test_forex_pairs(params, obb): ( { "interval": "1day", - "provider": "fmp", + "provider": "intrinio", "symbol": "EURUSD", "start_date": "2023-01-01", "end_date": "2023-06-06", diff --git a/openbb_platform/extensions/futures/integration/test_futures_api.py b/openbb_platform/extensions/futures/integration/test_futures_api.py index 2cd5d3638c6..99fdff6096b 100644 --- a/openbb_platform/extensions/futures/integration/test_futures_api.py +++ b/openbb_platform/extensions/futures/integration/test_futures_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -50,14 +50,18 @@ def test_futures_load(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/futures/load?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @pytest.mark.parametrize( "params", - [({"symbol": "AAPL", "date": "2023-01-01"})], + [ + ({"symbol": "AAPL", "date": "2023-01-01"}), + ({"provider": "cboe", "symbol": "AAPL", "date": "2023-01-01"}), + ({"provider": "yfinance", "symbol": "AAPL", "date": "2023-01-01"}), + ], ) @pytest.mark.integration def test_futures_curve(params, headers): @@ -65,6 +69,6 @@ def test_futures_curve(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/futures/curve?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/futures/integration/test_futures_python.py b/openbb_platform/extensions/futures/integration/test_futures_python.py index fef638d86f1..b04a4b6ef53 100644 --- a/openbb_platform/extensions/futures/integration/test_futures_python.py +++ b/openbb_platform/extensions/futures/integration/test_futures_python.py @@ -52,6 +52,8 @@ def test_futures_load(params, obb): "params", [ ({"symbol": "AAPL", "date": "2023-01-01"}), + ({"provider": "cboe", "symbol": "AAPL", "date": "2023-01-01"}), + ({"provider": "yfinance", "symbol": "AAPL", "date": "2023-01-01"}), ], ) @pytest.mark.integration diff --git a/openbb_platform/extensions/news/integration/test_news_api.py b/openbb_platform/extensions/news/integration/test_news_api.py index 6e6cecbbf11..63fa4662819 100644 --- a/openbb_platform/extensions/news/integration/test_news_api.py +++ b/openbb_platform/extensions/news/integration/test_news_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -41,6 +41,18 @@ def headers(): "limit": 20, } ), + ( + { + "provider": "fmp", + "limit": 20, + } + ), + ( + { + "provider": "intrinio", + "limit": 20, + } + ), ], ) @pytest.mark.integration @@ -49,6 +61,6 @@ def test_news_globalnews(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/news/globalnews?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/news/integration/test_news_python.py b/openbb_platform/extensions/news/integration/test_news_python.py index c94fc54a68f..6c7d15232a1 100644 --- a/openbb_platform/extensions/news/integration/test_news_python.py +++ b/openbb_platform/extensions/news/integration/test_news_python.py @@ -38,6 +38,18 @@ def obb(pytestconfig): "limit": 20, } ), + ( + { + "provider": "fmp", + "limit": 20, + } + ), + ( + { + "provider": "intrinio", + "limit": 20, + } + ), ], ) @pytest.mark.integration diff --git a/openbb_platform/extensions/qa/integration/test_qa_api.py b/openbb_platform/extensions/qa/integration/test_qa_api.py index ae470fddae5..c82441a2bbc 100644 --- a/openbb_platform/extensions/qa/integration/test_qa_api.py +++ b/openbb_platform/extensions/qa/integration/test_qa_api.py @@ -10,7 +10,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -31,7 +31,7 @@ def get_data(menu: str, symbol: str, provider: str): """Randomly pick a symbol and a provider and get data from the selected menu.""" url = f"http://0.0.0.0:8000/api/v1/{menu}/load?symbol={symbol}&provider={provider}" - result = requests.get(url, headers=auth_header(), timeout=5) + result = requests.get(url, headers=auth_header(), timeout=10) return result.json()["results"] @@ -75,7 +75,7 @@ def test_qa_normality(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/normality?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -94,7 +94,7 @@ def test_qa_capm(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/capm?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -127,7 +127,7 @@ def test_qa_om(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/om?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -146,7 +146,7 @@ def test_qa_kurtosis(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/kurtosis?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -179,7 +179,7 @@ def test_qa_unitroot(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/unitroot?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -198,7 +198,7 @@ def test_qa_sh(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/sh?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -233,7 +233,7 @@ def test_qa_so(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/so?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -284,7 +284,7 @@ def test_qa_quantile(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/quantile?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -303,6 +303,6 @@ def test_qa_summary(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/qa/summary?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_api.py b/openbb_platform/extensions/stocks/integration/test_stocks_api.py index e497887e5cc..705c932df12 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_api.py +++ b/openbb_platform/extensions/stocks/integration/test_stocks_api.py @@ -7,7 +7,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -33,9 +33,9 @@ def headers(): ), ( { - "company_name": "Apple Inc", - "company_name_search": "AAPL", - "sic": "35719904", + "company_name": "Apple Inc.", + "company_name_search": "Apple Inc.", + "sic": "3571", "include_sources": True, "order": "asc", "sort": "filing_date", @@ -43,6 +43,33 @@ def headers(): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2022-10-27", + "filing_date_lt": "2022-11-01", + "filing_date_lte": "2022-11-01", + "filing_date_gt": "2022-10-10", + "filing_date_gte": "2022-10-10", + "period_of_report_date": "2022-09-24", + "period_of_report_date_lt": "2022-11-01", + "period_of_report_date_lte": "2022-11-01", + "period_of_report_date_gt": "2022-10-10", + "period_of_report_date_gte": "2022-10-10", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "fmp", + "cik": "0000320193", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "yfinance", } ), ], @@ -53,7 +80,7 @@ def test_stocks_fa_balance(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/balance?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -68,7 +95,7 @@ def test_stocks_fa_balance_growth(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/balance_growth?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -83,7 +110,7 @@ def test_stocks_fa_cal(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/cal?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -114,6 +141,33 @@ def test_stocks_fa_cal(params, headers): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2023-09-15", + "filing_date_lt": "2023-09-20", + "filing_date_lte": "2023-09-20", + "filing_date_gt": "2023-09-10", + "filing_date_gte": "2023-09-10", + "period_of_report_date": "2023-10-15", + "period_of_report_date_lt": "2023-10-20", + "period_of_report_date_lte": "2023-10-20", + "period_of_report_date_gt": "2023-10-10", + "period_of_report_date_gte": "2023-10-10", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "fmp", + "cik": "0000320193", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "yfinance", } ), ], @@ -124,7 +178,7 @@ def test_stocks_fa_cash(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/cash?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -139,7 +193,7 @@ def test_stocks_fa_cash_growth(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/cash_growth?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -154,7 +208,7 @@ def test_stocks_fa_comp(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/comp?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -169,7 +223,7 @@ def test_stocks_fa_comsplit(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/comsplit?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -184,7 +238,7 @@ def test_stocks_fa_divs(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/divs?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -199,7 +253,7 @@ def test_stocks_fa_earning(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/earning?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -214,7 +268,7 @@ def test_stocks_fa_emp(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/emp?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -229,7 +283,7 @@ def test_stocks_fa_est(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/est?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -250,9 +304,9 @@ def test_stocks_fa_est(params, headers): ), ( { - "company_name": "Apple Inc", - "company_name_search": "AAPL", - "sic": "35719904", + "company_name": "Apple Inc.", + "company_name_search": "Apple Inc.", + "sic": "3571", "include_sources": True, "order": "asc", "sort": "filing_date", @@ -260,6 +314,33 @@ def test_stocks_fa_est(params, headers): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2022-10-27", + "filing_date_lt": "2022-11-01", + "filing_date_lte": "2022-11-01", + "filing_date_gt": "2022-10-10", + "filing_date_gte": "2022-10-10", + "period_of_report_date": "2022-09-24", + "period_of_report_date_lt": "2022-11-01", + "period_of_report_date_lte": "2022-11-01", + "period_of_report_date_gt": "2022-10-10", + "period_of_report_date_gte": "2022-10-10", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "fmp", + "cik": "0000320193", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "yfinance", } ), ], @@ -270,7 +351,7 @@ def test_stocks_fa_income(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/income?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -285,7 +366,7 @@ def test_stocks_fa_income_growth(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/income_growth?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -310,7 +391,7 @@ def test_stocks_fa_ins(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ins?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -325,7 +406,7 @@ def test_stocks_fa_ins_own(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ins_own?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -340,7 +421,7 @@ def test_stocks_fa_metrics(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/metrics?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -355,7 +436,7 @@ def test_stocks_fa_mgmt(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/mgmt?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -370,7 +451,7 @@ def test_stocks_fa_overview(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/overview?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -385,7 +466,7 @@ def test_stocks_fa_own(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/own?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -400,7 +481,7 @@ def test_stocks_fa_pt(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/pt?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -415,7 +496,7 @@ def test_stocks_fa_pta(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/pta?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -430,7 +511,7 @@ def test_stocks_fa_ratios(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ratios?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -445,7 +526,7 @@ def test_stocks_fa_revgeo(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/revgeo?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -460,7 +541,7 @@ def test_stocks_fa_revseg(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/revseg?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -475,7 +556,7 @@ def test_stocks_fa_filings(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/filings?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -490,7 +571,7 @@ def test_stocks_fa_shrs(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/shrs?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -505,7 +586,7 @@ def test_stocks_fa_split(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/split?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -520,7 +601,7 @@ def test_stocks_fa_transcript(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/fa/transcript?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -535,7 +616,7 @@ def test_stocks_ca_peers(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/ca/peers?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -545,6 +626,7 @@ def test_stocks_ca_peers(params, headers): [ ({"symbol": "AAPL"}), ({"date": "2023-01-01", "provider": "intrinio", "symbol": "AAPL"}), + ({"provider": "cboe", "symbol": "AAPL"}), ], ) @pytest.mark.integration @@ -553,7 +635,7 @@ def test_stocks_options_chains(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/options/chains?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -574,6 +656,7 @@ def test_stocks_options_chains(params, headers): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-06-06", + "function_": "TIME_SERIES_DAILY", } ), ( @@ -601,6 +684,7 @@ def test_stocks_options_chains(params, headers): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "timeseries": 1, } ), ( @@ -610,16 +694,20 @@ def test_stocks_options_chains(params, headers): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( { "timezone": "UTC", + "source": "realtime", "interval_size": "30m", "provider": "intrinio", "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "start_time": "00:00:00", + "end_time": "23:59:59", } ), ( @@ -631,6 +719,8 @@ def test_stocks_options_chains(params, headers): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "start_time": "00:00:00", + "end_time": "23:59:59", } ), ( @@ -707,7 +797,7 @@ def test_stocks_load(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/load?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -746,6 +836,27 @@ def test_stocks_load(params, headers): "limit": 20, } ), + ( + { + "provider": "fmp", + "symbols": "AAPL", + "limit": 20, + } + ), + ( + { + "provider": "yfinance", + "symbols": "AAPL", + "limit": 20, + } + ), + ( + { + "provider": "intrinio", + "symbols": "AAPL", + "limit": 20, + } + ), ], ) @pytest.mark.integration @@ -754,7 +865,7 @@ def test_stocks_news(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/news?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -769,7 +880,7 @@ def test_stocks_multiples(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/multiples?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -784,7 +895,7 @@ def test_stocks_search(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/search?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -794,6 +905,7 @@ def test_stocks_search(params, headers): [ ({"symbol": "AAPL"}), ({"source": "iex", "provider": "intrinio", "symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -802,7 +914,7 @@ def test_stocks_quote(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/quote?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -817,6 +929,6 @@ def test_stocks_info(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/stocks/info?{query_str}" - result = requests.get(url, headers=headers, timeout=5) + result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_python.py b/openbb_platform/extensions/stocks/integration/test_stocks_python.py index 83157bdfac7..31008e4ed9b 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_python.py +++ b/openbb_platform/extensions/stocks/integration/test_stocks_python.py @@ -29,9 +29,9 @@ def obb(pytestconfig): ), ( { - "company_name": "Apple Inc", - "company_name_search": "AAPL", - "sic": "35719904", + "company_name": "Apple Inc.", + "company_name_search": "Apple Inc.", + "sic": "3571", "include_sources": True, "order": "asc", "sort": "filing_date", @@ -39,6 +39,33 @@ def obb(pytestconfig): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2022-10-27", + "filing_date_lt": "2022-11-01", + "filing_date_lte": "2022-11-01", + "filing_date_gt": "2022-10-10", + "filing_date_gte": "2022-10-10", + "period_of_report_date": "2022-09-24", + "period_of_report_date_lt": "2022-11-01", + "period_of_report_date_lte": "2022-11-01", + "period_of_report_date_gt": "2022-10-10", + "period_of_report_date_gte": "2022-10-10", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "fmp", + "cik": "0000320193", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "yfinance", } ), ], @@ -100,9 +127,9 @@ def test_stocks_fa_cal(params, obb): ), ( { - "company_name": "Apple Inc", - "company_name_search": "AAPL", - "sic": "35719904", + "company_name": "Apple Inc.", + "company_name_search": "Apple Inc.", + "sic": "3571", "include_sources": True, "order": "asc", "sort": "filing_date", @@ -110,6 +137,33 @@ def test_stocks_fa_cal(params, obb): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2022-10-27", + "filing_date_lt": "2022-11-01", + "filing_date_lte": "2022-11-01", + "filing_date_gt": "2022-10-10", + "filing_date_gte": "2022-10-10", + "period_of_report_date": "2022-09-24", + "period_of_report_date_lt": "2022-11-01", + "period_of_report_date_lte": "2022-11-01", + "period_of_report_date_gt": "2022-10-10", + "period_of_report_date_gte": "2022-10-10", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "fmp", + "cik": "0000320193", + } + ), + ( + { + "symbol": "AAPL", + "period": "annual", + "limit": 12, + "provider": "yfinance", } ), ], @@ -241,9 +295,9 @@ def test_stocks_fa_est(params, obb): ), ( { - "company_name": "Apple Inc", - "company_name_search": "AAPL", - "sic": "35719904", + "company_name": "Apple Inc.", + "company_name_search": "Apple Inc.", + "sic": "3571", "include_sources": True, "order": "asc", "sort": "filing_date", @@ -251,6 +305,33 @@ def test_stocks_fa_est(params, obb): "symbol": "AAPL", "period": "annual", "limit": 12, + "filing_date": "2022-10-27", + "filing_date_lt": "2022-11-01", + "filing_date_lte": "2022-11-01", + "filing_date_gt": "2022-10-10", + "filing_date_gte": "2022-10-10", + "period_of_report_date": "2022-09-24", + "period_of_report_date_lt": "2022-11-01", + "period_of_report_date_lte": "2022-11-01", + "period_of_report_date_gt": "2022-10-10", + "period_of_report_date_gte": "2022-10-10", + } + ), + ( + { + "provider": "fmp", + "symbol": "AAPL", + "limit": 12, + "period": "annual", + "cik": "0000320193", + } + ), + ( + { + "provider": "yfinance", + "symbol": "AAPL", + "limit": 12, + "period": "annual", } ), ], @@ -265,9 +346,7 @@ def test_stocks_fa_income(params, obb): @pytest.mark.parametrize( "params", - [ - ({"symbol": "AAPL", "limit": 10, "period": "annual"}), - ], + [({"symbol": "AAPL", "limit": 10, "period": "annual"})], ) @pytest.mark.integration def test_stocks_fa_income_growth(params, obb): @@ -521,6 +600,7 @@ def test_stocks_ca_peers(params, obb): [ ({"symbol": "AAPL"}), ({"date": "2023-01-01", "provider": "intrinio", "symbol": "AAPL"}), + ({"provider": "cboe", "symbol": "AAPL"}), ], ) @pytest.mark.integration @@ -553,6 +633,7 @@ def test_stocks_options_chains(params, obb): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-06-06", + "function_": "TIME_SERIES_DAILY", } ), ( @@ -580,6 +661,7 @@ def test_stocks_options_chains(params, obb): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "timeseries": 1, } ), ( @@ -589,16 +671,20 @@ def test_stocks_options_chains(params, obb): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-06-06", + "timeseries": 1, } ), ( { "timezone": "UTC", + "source": "realtime", "interval_size": "30m", "provider": "intrinio", "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "start_time": "00:00:00", + "end_time": "23:59:59", } ), ( @@ -610,6 +696,8 @@ def test_stocks_options_chains(params, obb): "symbol": "AAPL", "start_date": "2023-01-01", "end_date": "2023-01-02", + "start_time": "00:00:00", + "end_time": "23:59:59", } ), ( @@ -722,6 +810,27 @@ def test_stocks_load(params, obb): "limit": 20, } ), + ( + { + "provider": "fmp", + "symbols": "AAPL", + "limit": 20, + } + ), + ( + { + "provider": "yfinance", + "symbols": "AAPL", + "limit": 20, + } + ), + ( + { + "provider": "intrinio", + "symbols": "AAPL", + "limit": 20, + } + ), ], ) @pytest.mark.integration @@ -764,6 +873,7 @@ def test_stocks_search(params, obb): [ ({"symbol": "AAPL"}), ({"source": "iex", "provider": "intrinio", "symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration diff --git a/openbb_platform/extensions/ta/integration/test_ta_api.py b/openbb_platform/extensions/ta/integration/test_ta_api.py index 25bcb1b90fd..6d4086405df 100644 --- a/openbb_platform/extensions/ta/integration/test_ta_api.py +++ b/openbb_platform/extensions/ta/integration/test_ta_api.py @@ -10,7 +10,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -31,7 +31,7 @@ def get_data(menu: str, symbol: str, provider: str): """Randomly pick a symbol and a provider and get data from the selected menu.""" url = f"http://0.0.0.0:8000/api/v1/{menu}/load?symbol={symbol}&provider={provider}" - result = requests.get(url, headers=auth_header(), timeout=5) + result = requests.get(url, headers=auth_header(), timeout=10) return result.json()["results"] @@ -93,7 +93,7 @@ def test_ta_atr(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/atr?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -130,7 +130,7 @@ def test_ta_fib(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/fib?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -149,7 +149,7 @@ def test_ta_obv(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/obv?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -168,7 +168,7 @@ def test_ta_fisher(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/fisher?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -203,7 +203,7 @@ def test_ta_adosc(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/adosc?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -242,7 +242,7 @@ def test_ta_bbands(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/bbands?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -277,7 +277,7 @@ def test_ta_zlma(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/zlma?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -303,7 +303,7 @@ def test_ta_aroon(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/aroon?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -338,7 +338,7 @@ def test_ta_sma(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/sma?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -375,7 +375,7 @@ def test_ta_demark(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/demark?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -394,7 +394,7 @@ def test_ta_vwap(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/vwap?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -431,7 +431,7 @@ def test_ta_macd(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/macd?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -466,7 +466,7 @@ def test_ta_hma(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/hma?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -501,7 +501,7 @@ def test_ta_donchian(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/donchian?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -540,7 +540,7 @@ def test_ta_ichimoku(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/ichimoku?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -566,7 +566,7 @@ def test_ta_clenow(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/clenow?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -585,7 +585,7 @@ def test_ta_ad(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/ad?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -620,7 +620,7 @@ def test_ta_adx(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/adx?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -655,7 +655,7 @@ def test_ta_wma(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/wma?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -681,7 +681,7 @@ def test_ta_cci(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/cci?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -718,7 +718,7 @@ def test_ta_rsi(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/rsi?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -753,7 +753,7 @@ def test_ta_stoch(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/stoch?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -790,7 +790,7 @@ def test_ta_kc(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/kc?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -809,7 +809,7 @@ def test_ta_cg(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/cg?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -846,7 +846,7 @@ def test_ta_cones(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/cones?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -881,6 +881,6 @@ def test_ta_ema(params, headers): query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/ema?{query_str}" - result = requests.post(url, headers=headers, timeout=5, data=data) + result = requests.post(url, headers=headers, timeout=10, data=data) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py b/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py index d64cf2ab7de..f838da743a2 100644 --- a/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py +++ b/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py @@ -31,7 +31,7 @@ def get_token(): return requests.post( "http://0.0.0.0:8000/api/v1/account/token", data={"username": "openbb", "password": "openbb"}, - timeout=5, + timeout=10, ) @@ -51,8 +51,8 @@ def write_test_w_template( params_str = ",\n".join([f"({params})" for params in params_list]) http_template_request = { - "get": "requests.get(url, headers=headers, timeout=5)", - "post": "requests.post(url, headers=headers, timeout=5, data=data)", + "get": "requests.get(url, headers=headers, timeout=10)", + "post": "requests.post(url, headers=headers, timeout=10, data=data)", } http_template_params = {"get": "", "post": "data = json.dumps(params.pop('data'))"}