diff --git a/openbb_platform/extensions/charting/integration/test_charting_api.py b/openbb_platform/extensions/charting/integration/test_charting_api.py index 5cdbe075d30..15ea8decc1c 100644 --- a/openbb_platform/extensions/charting/integration/test_charting_api.py +++ b/openbb_platform/extensions/charting/integration/test_charting_api.py @@ -3,6 +3,7 @@ import json import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -43,7 +44,7 @@ def get_equity_data(): return data["stocks_data"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -74,7 +75,7 @@ def test_chart_equity_price_historical(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "limit": 100, "chart": True})], ) @@ -97,7 +98,7 @@ def test_chart_equity_fundamental_multiples(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -132,7 +133,7 @@ def test_chart_technical_adx(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [({"data": "", "index": "date", "length": "30", "scalar": "110", "chart": True})], ) @@ -156,7 +157,7 @@ def test_chart_technical_aroon(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -191,7 +192,7 @@ def test_chart_technical_ema(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -226,7 +227,7 @@ def test_chart_technical_hma(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -262,7 +263,7 @@ def test_chart_technical_macd(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -298,7 +299,7 @@ def test_chart_technical_rsi(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -333,7 +334,7 @@ def test_chart_technical_sma(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -368,7 +369,7 @@ def test_chart_technical_wma(params, headers): assert list(chart.keys()) == ["content", "format"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/charting/integration/test_charting_python.py b/openbb_platform/extensions/charting/integration/test_charting_python.py index 4e8a7ac92db..90bc88151b2 100644 --- a/openbb_platform/extensions/charting/integration/test_charting_python.py +++ b/openbb_platform/extensions/charting/integration/test_charting_python.py @@ -1,6 +1,7 @@ """Test charting extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_charting.core.openbb_figure import OpenBBFigure from openbb_core.app.model.obbject import OBBject @@ -36,7 +37,7 @@ def get_equity_data(): return data["stocks_data"] -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -59,7 +60,7 @@ def test_chart_equity_price_historical(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "limit": 100, "chart": "True"}), @@ -78,7 +79,7 @@ def test_chart_equity_fundamental_multiples(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -108,7 +109,7 @@ def test_chart_technical_adx(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -137,7 +138,7 @@ def test_chart_technical_aroon(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -167,7 +168,7 @@ def test_chart_technical_ema(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -197,7 +198,7 @@ def test_chart_technical_hma(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -228,7 +229,7 @@ def test_chart_technical_macd(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -259,7 +260,7 @@ def test_chart_technical_rsi(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -289,7 +290,7 @@ def test_chart_technical_sma(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -319,7 +320,7 @@ def test_chart_technical_wma(params, obb): assert isinstance(result.chart.fig, OpenBBFigure) -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/crypto/integration/test_crypto_api.py b/openbb_platform/extensions/crypto/integration/test_crypto_api.py index bd7626d1b6e..5fbd6422a8d 100644 --- a/openbb_platform/extensions/crypto/integration/test_crypto_api.py +++ b/openbb_platform/extensions/crypto/integration/test_crypto_api.py @@ -3,6 +3,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): return {"Authorization": f"Basic {base64_bytes.decode('ascii')}"} -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "asd"}), @@ -36,7 +37,7 @@ def test_crypto_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/crypto/integration/test_crypto_python.py b/openbb_platform/extensions/crypto/integration/test_crypto_python.py index 0891d08846e..5a46fa9e988 100644 --- a/openbb_platform/extensions/crypto/integration/test_crypto_python.py +++ b/openbb_platform/extensions/crypto/integration/test_crypto_python.py @@ -1,6 +1,7 @@ """Test crypto extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject # pylint: disable=redefined-outer-name @@ -15,7 +16,7 @@ def obb(pytestconfig): # pylint: disable=inconsistent-return-statements return openbb.obb -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "asd"}), @@ -32,7 +33,7 @@ def test_crypto_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/currency/integration/test_currency_api.py b/openbb_platform/extensions/currency/integration/test_currency_api.py index f868d0a6036..8f2d71e6610 100644 --- a/openbb_platform/extensions/currency/integration/test_currency_api.py +++ b/openbb_platform/extensions/currency/integration/test_currency_api.py @@ -3,6 +3,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): return {"Authorization": f"Basic {base64_bytes.decode('ascii')}"} -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -56,7 +57,7 @@ def test_currency_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -154,9 +155,9 @@ def test_currency_price_historical(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({})], + [({"provider": "ecb"})], ) @pytest.mark.integration def test_currency_reference_rates(params, headers): diff --git a/openbb_platform/extensions/currency/integration/test_currency_python.py b/openbb_platform/extensions/currency/integration/test_currency_python.py index 8bc8f602f5b..223b0b1ed60 100644 --- a/openbb_platform/extensions/currency/integration/test_currency_python.py +++ b/openbb_platform/extensions/currency/integration/test_currency_python.py @@ -1,6 +1,7 @@ """Test currency extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject # pylint: disable=redefined-outer-name @@ -17,7 +18,7 @@ def obb(pytestconfig): return openbb.obb -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -52,7 +53,7 @@ def test_currency_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -147,9 +148,9 @@ def test_currency_price_historical(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({})], + [({"provider": "ecb"})], ) @pytest.mark.integration def test_currency_reference_rates(params, obb): diff --git a/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py b/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py index 53ccec665da..421cb41c312 100644 --- a/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py +++ b/openbb_platform/extensions/derivatives/integration/test_derivatives_api.py @@ -4,6 +4,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -19,7 +20,7 @@ def headers(): return {"Authorization": f"Basic {base64_bytes.decode('ascii')}"} -@pytest.mark.parametrize( +@parametrize( "params", [ ({"provider": "intrinio", "symbol": "AAPL", "date": "2023-01-25"}), @@ -37,7 +38,7 @@ def test_derivatives_options_chains(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -56,7 +57,7 @@ def test_derivatives_options_unusual(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -95,7 +96,7 @@ def test_derivatives_futures_historical(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"provider": "cboe", "symbol": "VX", "date": "2023-01-25"}), diff --git a/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py b/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py index 0e03cf4cdd6..02d0ee4bc78 100644 --- a/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py +++ b/openbb_platform/extensions/derivatives/integration/test_derivatives_python.py @@ -1,6 +1,7 @@ """Python interface integration tests for the derivatives extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject # pylint: disable=too-many-lines,redefined-outer-name @@ -16,7 +17,7 @@ def obb(pytestconfig): return openbb.obb -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -32,7 +33,7 @@ def test_derivatives_options_chains(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -48,7 +49,7 @@ def test_derivatives_options_unusual(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -83,7 +84,7 @@ def test_derivatives_futures_historical(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "VX", "date": "2023-01-25", "provider": "cboe"}), diff --git a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py index aef11f2a943..0cc3791a9a8 100644 --- a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py +++ b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py @@ -3,6 +3,7 @@ import random from typing import Literal import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject from openbb_econometrics.utils import mock_multi_index_data @@ -58,7 +59,7 @@ def get_data(menu: Literal["equity", "crypto"]): return funcs[menu]() -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": ""}, "equity"), @@ -77,7 +78,7 @@ def test_econometrics_correlation_matrix(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -102,7 +103,7 @@ def test_econometrics_ols_regression(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -126,7 +127,7 @@ def test_econometrics_ols_regression_summary(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -150,7 +151,7 @@ def test_econometrics_autocorrelation(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -184,7 +185,7 @@ def test_econometrics_residual_autocorrelation(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -215,7 +216,7 @@ def test_econometrics_cointegration(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -250,7 +251,7 @@ def test_econometrics_causality(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "column": "close", "regression": "c"}, "equity"), @@ -271,7 +272,7 @@ def test_econometrics_unit_root(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, @@ -290,7 +291,7 @@ def test_econometrics_panel_random_effects(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, @@ -309,7 +310,7 @@ def test_econometrics_panel_between(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, @@ -328,7 +329,7 @@ def test_econometrics_panel_pooled(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, @@ -347,7 +348,7 @@ def test_econometrics_panel_fixed(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, @@ -366,7 +367,7 @@ def test_econometrics_panel_first_difference(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ {"data": "", "y_column": "income", "x_columns": ["age"]}, diff --git a/openbb_platform/extensions/economy/integration/test_economy_api.py b/openbb_platform/extensions/economy/integration/test_economy_api.py index d4e929ca090..9592813f44b 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_api.py +++ b/openbb_platform/extensions/economy/integration/test_economy_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -57,7 +58,7 @@ def test_economy_calendar(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -95,7 +96,7 @@ def test_economy_cpi(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "fmp"})], ) @@ -110,7 +111,7 @@ def test_economy_risk_premium(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -145,7 +146,7 @@ def test_economy_gdp_forecast(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -178,7 +179,7 @@ def test_economy_gdp_nominal(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -211,7 +212,7 @@ def test_economy_gdp_real(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -251,7 +252,7 @@ def test_economy_balance_of_payments(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -309,7 +310,7 @@ def test_economy_fred_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/economy/integration/test_economy_python.py b/openbb_platform/extensions/economy/integration/test_economy_python.py index 6d62fcaa341..b8478e816bf 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_python.py +++ b/openbb_platform/extensions/economy/integration/test_economy_python.py @@ -1,6 +1,7 @@ """Test economy extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -17,7 +18,7 @@ def obb(pytestconfig): # pylint: disable=inconsistent-return-statements # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06", "provider": "fmp"}), @@ -51,7 +52,7 @@ def test_economy_calendar(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -74,10 +75,10 @@ def test_economy_cpi(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({}), + ({"provider": "fmp"}), ], ) @pytest.mark.integration @@ -88,7 +89,7 @@ def test_economy_risk_premium(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -121,7 +122,7 @@ def test_economy_gdp_forecast(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"units": "usd", "start_date": "2021-01-01", "end_date": "2023-06-06"}), @@ -146,7 +147,7 @@ def test_economy_gdp_nominal(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"units": "yoy", "start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -171,7 +172,7 @@ def test_economy_gdp_real(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -210,7 +211,7 @@ def test_economy_balance_of_payments(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -267,7 +268,7 @@ def test_economy_fred_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/equity/integration/test_equity_api.py b/openbb_platform/extensions/equity/integration/test_equity_api.py index 46d77a671c5..98df7116d07 100644 --- a/openbb_platform/extensions/equity/integration/test_equity_api.py +++ b/openbb_platform/extensions/equity/integration/test_equity_api.py @@ -4,6 +4,7 @@ from datetime import time import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -19,7 +20,7 @@ def headers(): return {"Authorization": f"Basic {base64_bytes.decode('ascii')}"} -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12, "provider": "fmp"}), @@ -82,9 +83,9 @@ def test_equity_fundamental_balance(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "limit": 10})], + [({"symbol": "AAPL", "limit": 10, "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_balance_growth(params, headers): @@ -97,7 +98,7 @@ def test_equity_fundamental_balance_growth(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), @@ -115,7 +116,7 @@ def test_equity_calendar_dividend(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), @@ -132,7 +133,7 @@ def test_equity_calendar_splits(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-09", "end_date": "2023-11-10", "provider": "fmp"}), @@ -150,7 +151,7 @@ def test_equity_calendar_earnings(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12, "provider": "fmp"}), @@ -213,9 +214,9 @@ def test_equity_fundamental_cash(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "limit": 10})], + [({"symbol": "AAPL", "limit": 10, "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_cash_growth(params, headers): @@ -228,9 +229,9 @@ def test_equity_fundamental_cash_growth(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_management_compensation(params, headers): @@ -243,9 +244,9 @@ def test_equity_fundamental_management_compensation(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_historical_splits(params, headers): @@ -258,7 +259,7 @@ def test_equity_fundamental_historical_splits(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "provider": "fmp"}), @@ -282,9 +283,9 @@ def test_equity_fundamental_dividends(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_employee_count(params, headers): @@ -297,7 +298,7 @@ def test_equity_fundamental_employee_count(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "period": "annual", "limit": 30})], ) @@ -312,7 +313,7 @@ def test_equity_estimates_historical(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12, "provider": "fmp"}), @@ -375,9 +376,9 @@ def test_equity_fundamental_income(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "limit": 10, "period": "annual"})], + [({"symbol": "AAPL", "limit": 10, "period": "annual", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_income_growth(params, headers): @@ -390,7 +391,7 @@ def test_equity_fundamental_income_growth(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -425,7 +426,7 @@ def test_equity_ownership_insider_trading(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -456,7 +457,7 @@ def test_equity_ownership_institutional(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -490,7 +491,7 @@ def test_equity_calendar_ipo(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -516,7 +517,7 @@ def test_equity_fundamental_metrics(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -531,7 +532,7 @@ def test_equity_fundamental_management(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -546,9 +547,9 @@ def test_equity_fundamental_overview(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "date": "2023-01-01", "page": 1})], + [({"symbol": "AAPL", "date": "2023-01-01", "page": 1, "provider": "fmp"})], ) @pytest.mark.integration def test_equity_ownership_major_holders(params, headers): @@ -561,9 +562,9 @@ def test_equity_ownership_major_holders(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_estimates_price_target(params, headers): @@ -576,7 +577,7 @@ def test_equity_estimates_price_target(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -591,7 +592,7 @@ def test_equity_estimates_consensus(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "period": "annual", "limit": 12})], ) @@ -606,9 +607,9 @@ def test_equity_fundamental_ratios(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "period": "annual", "structure": "flat"})], + [({"symbol": "AAPL", "period": "annual", "structure": "flat", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_revenue_per_geography(params, headers): @@ -621,9 +622,9 @@ def test_equity_fundamental_revenue_per_geography(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "period": "annual", "structure": "flat"})], + [({"symbol": "AAPL", "period": "annual", "structure": "flat", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_revenue_per_segment(params, headers): @@ -638,7 +639,7 @@ def test_equity_fundamental_revenue_per_segment(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "form_type": "1", "limit": 100, "provider": "fmp"}), @@ -686,7 +687,7 @@ def test_equity_fundamental_filings(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "provider": "fmp"}), @@ -704,7 +705,7 @@ def test_equity_ownership_share_statistics(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "year": 2023})], ) @@ -719,7 +720,7 @@ def test_equity_fundamental_transcript(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -734,7 +735,7 @@ def test_equity_compare_peers(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -920,7 +921,7 @@ def test_equity_price_historical(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "provider": "fmp"})], ) @@ -935,7 +936,7 @@ def test_equity_fundamental_multiples(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "ebit", "limit": 100, "provider": "intrinio"}), @@ -952,7 +953,7 @@ def test_equity_fundamental_search_attributes(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -981,7 +982,7 @@ def test_equity_fundamental_historical_attributes(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1011,7 +1012,7 @@ def test_equity_fundamental_latest_attributes(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "AAPl", "is_symbol": True, "provider": "cboe"}), @@ -1029,7 +1030,7 @@ def test_equity_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1067,7 +1068,7 @@ def test_equity_screener(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"source": "iex", "provider": "intrinio", "symbol": "AAPL"}), @@ -1085,7 +1086,7 @@ def test_equity_price_quote(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "provider": "cboe"}), @@ -1103,7 +1104,7 @@ def test_equity_profile(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "provider": "yfinance"})], ) @@ -1118,7 +1119,7 @@ def test_equity_discovery_gainers(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "provider": "yfinance"})], ) @@ -1133,7 +1134,7 @@ def test_equity_discovery_losers(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "provider": "yfinance"})], ) @@ -1148,7 +1149,7 @@ def test_equity_discovery_active(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "provider": "fmp"})], ) @@ -1163,7 +1164,7 @@ def test_equity_price_performance(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "provider": "yfinance"})], ) @@ -1178,9 +1179,9 @@ def test_equity_discovery_undervalued_large_caps(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_undervalued_growth(params, headers): @@ -1193,9 +1194,9 @@ def test_equity_discovery_undervalued_growth(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_aggressive_small_caps(params, headers): @@ -1210,7 +1211,7 @@ def test_equity_discovery_aggressive_small_caps(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "provider": "yfinance"})], ) @@ -1225,7 +1226,7 @@ def test_equity_discovery_growth_tech(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"limit": 10, "provider": "nasdaq"})], ) @@ -1240,7 +1241,7 @@ def test_equity_discovery_top_retail(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "seeking_alpha"})], ) @@ -1257,7 +1258,7 @@ def test_equity_discovery_upcoming_release_days(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1293,7 +1294,7 @@ def test_equity_discovery_filings(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -1311,9 +1312,9 @@ def test_equity_shorts_fails_to_deliver(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "stockgrid"})], ) @pytest.mark.integration def test_equity_shorts_short_volume(params, headers): @@ -1326,9 +1327,9 @@ def test_equity_shorts_short_volume(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "finra"})], ) @pytest.mark.integration def test_equity_shorts_short_interest(params, headers): @@ -1341,7 +1342,7 @@ def test_equity_shorts_short_interest(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1369,7 +1370,7 @@ def test_equity_price_nbbo(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -1392,7 +1393,7 @@ def test_equity_darkpool_otc(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"provider": "fmp", "market": "EURONEXT"}), @@ -1410,7 +1411,7 @@ def test_equity_market_snapshots(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "limit": 5, "provider": "fmp"}), @@ -1427,7 +1428,7 @@ def test_equity_fundamental_historical_eps(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "tiingo", "symbol": "AAPL"})], ) diff --git a/openbb_platform/extensions/equity/integration/test_equity_python.py b/openbb_platform/extensions/equity/integration/test_equity_python.py index d53d0603f52..d2e8e842df8 100644 --- a/openbb_platform/extensions/equity/integration/test_equity_python.py +++ b/openbb_platform/extensions/equity/integration/test_equity_python.py @@ -2,6 +2,7 @@ from datetime import time import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject # pylint: disable=too-many-lines,redefined-outer-name @@ -17,7 +18,7 @@ def obb(pytestconfig): return openbb.obb -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12}), @@ -77,10 +78,10 @@ def test_equity_fundamental_balance(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL", "limit": 10}), + ({"symbol": "AAPL", "limit": 10, "provider": "fmp"}), ], ) @pytest.mark.integration @@ -91,7 +92,7 @@ def test_equity_fundamental_balance_growth(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), @@ -106,7 +107,7 @@ def test_equity_calendar_dividend(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), @@ -120,7 +121,7 @@ def test_equity_calendar_splits(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-11-09", "end_date": "2023-11-10", "provider": "fmp"}), @@ -135,7 +136,7 @@ def test_equity_calendar_earnings(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12}), @@ -195,10 +196,10 @@ def test_equity_fundamental_cash(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL", "limit": 10}), + ({"symbol": "AAPL", "limit": 10, "provider": "fmp"}), ], ) @pytest.mark.integration @@ -209,10 +210,10 @@ def test_equity_fundamental_cash_growth(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -223,10 +224,10 @@ def test_equity_fundamental_management_compensation(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -237,7 +238,7 @@ def test_equity_fundamental_historical_splits(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -259,10 +260,10 @@ def test_equity_fundamental_dividends(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -273,7 +274,7 @@ def test_equity_fundamental_employee_count(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 30}), @@ -287,7 +288,7 @@ def test_equity_estimates_historical(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12}), @@ -347,9 +348,9 @@ def test_equity_fundamental_income(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL", "limit": 10, "period": "annual"})], + [({"symbol": "AAPL", "limit": 10, "period": "annual", "provider": "fmp"})], ) @pytest.mark.integration def test_equity_fundamental_income_growth(params, obb): @@ -359,7 +360,7 @@ def test_equity_fundamental_income_growth(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -397,7 +398,7 @@ def test_equity_ownership_insider_trading(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -425,7 +426,7 @@ def test_equity_ownership_institutional(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -456,7 +457,7 @@ def test_equity_calendar_ipo(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 100}), @@ -483,7 +484,7 @@ def test_equity_fundamental_metrics(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -497,7 +498,7 @@ def test_equity_fundamental_management(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -511,10 +512,10 @@ def test_equity_fundamental_overview(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL", "date": "2023-01-01", "page": 1}), + ({"symbol": "AAPL", "date": "2023-01-01", "page": 1, "provider": "fmp"}), ], ) @pytest.mark.integration @@ -525,10 +526,10 @@ def test_equity_ownership_major_holders(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL"}), + ({"symbol": "AAPL", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -539,7 +540,7 @@ def test_equity_estimates_price_target(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -551,7 +552,7 @@ def test_equity_estimates_consensus(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "period": "annual", "limit": 12}), @@ -565,10 +566,17 @@ def test_equity_fundamental_ratios(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL", "period": "annual", "structure": "flat"}), + ( + { + "symbol": "AAPL", + "period": "annual", + "structure": "flat", + "provider": "fmp", + } + ), ], ) @pytest.mark.integration @@ -579,10 +587,17 @@ def test_equity_fundamental_revenue_per_geography(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "AAPL", "period": "annual", "structure": "flat"}), + ( + { + "symbol": "AAPL", + "period": "annual", + "structure": "flat", + "provider": "fmp", + } + ), ], ) @pytest.mark.integration @@ -593,7 +608,7 @@ def test_equity_fundamental_revenue_per_segment(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "form_type": "1", "limit": 100, "provider": "fmp"}), @@ -638,7 +653,7 @@ def test_equity_fundamental_filings(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -654,7 +669,7 @@ def test_equity_ownership_share_statistics(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "year": 2023}), @@ -668,7 +683,7 @@ def test_equity_fundamental_transcript(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -682,7 +697,7 @@ def test_equity_compare_peers(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -864,7 +879,7 @@ def test_equity_price_historical(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "provider": "fmp"}), @@ -878,7 +893,7 @@ def test_equity_fundamental_multiples(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "ebit", "limit": 100, "provider": "intrinio"}), @@ -892,7 +907,7 @@ def test_equity_fundamental_search_attributes(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -918,7 +933,7 @@ def test_equity_fundamental_historical_attributes(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -954,7 +969,7 @@ def test_equity_fundamental_latest_attributes(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "AAPL", "is_symbol": True, "provider": "cboe"}), @@ -969,7 +984,7 @@ def test_equity_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1004,7 +1019,7 @@ def test_equity_screener(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -1020,7 +1035,7 @@ def test_equity_price_quote(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "provider": "cboe"}), @@ -1038,7 +1053,7 @@ def test_equity_profile(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc"})], ) @@ -1052,7 +1067,7 @@ def test_equity_discovery_gainers(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc"})], ) @@ -1066,7 +1081,7 @@ def test_equity_discovery_losers(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc"})], ) @@ -1080,7 +1095,7 @@ def test_equity_discovery_active(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL"})], ) @@ -1094,9 +1109,9 @@ def test_equity_price_performance(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_undervalued_large_caps(params, obb): @@ -1108,9 +1123,9 @@ def test_equity_discovery_undervalued_large_caps(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_undervalued_growth(params, obb): @@ -1122,9 +1137,9 @@ def test_equity_discovery_undervalued_growth(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_aggressive_small_caps(params, obb): @@ -1136,9 +1151,9 @@ def test_equity_discovery_aggressive_small_caps(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"sort": "desc"})], + [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration def test_equity_discovery_growth_tech(params, obb): @@ -1150,9 +1165,9 @@ def test_equity_discovery_growth_tech(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"limit": 10})], + [({"limit": 10, "provider": "nasdaq"})], ) @pytest.mark.integration def test_equity_discovery_top_retail(params, obb): @@ -1164,9 +1179,9 @@ def test_equity_discovery_top_retail(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({})], + [({"provider": "seeking_alpha"})], ) @pytest.mark.integration def test_equity_discovery_upcoming_release_days(params, obb): @@ -1178,7 +1193,7 @@ def test_equity_discovery_upcoming_release_days(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1216,7 +1231,7 @@ def test_equity_discovery_filings(params, obb): assert result.results is not None -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -1233,9 +1248,9 @@ def test_equity_shorts_fails_to_deliver(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"symbol": "AAPL"})], + [({"symbol": "AAPL", "provider": "stockgrid"})], ) @pytest.mark.integration def test_equity_shorts_short_volume(params, obb): @@ -1247,7 +1262,7 @@ def test_equity_shorts_short_volume(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "AAPL", "provider": "finra"})], ) @@ -1261,7 +1276,7 @@ def test_equity_shorts_short_interest(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -1286,7 +1301,7 @@ def test_equity_price_nbbo(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL"}), @@ -1303,7 +1318,7 @@ def test_equity_darkpool_otc(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"provider": "fmp", "market": "EURONEXT"}), @@ -1318,7 +1333,7 @@ def test_equity_market_snapshots(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "AAPL", "limit": 5, "provider": "fmp"}), @@ -1334,7 +1349,7 @@ def test_equity_fundamental_historical_eps(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "tiingo", "symbol": "AAPL"})], ) diff --git a/openbb_platform/extensions/etf/integration/test_etf_api.py b/openbb_platform/extensions/etf/integration/test_etf_api.py index 1825dbabbec..8ec45317c32 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_api.py +++ b/openbb_platform/extensions/etf/integration/test_etf_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "", "provider": "fmp"}), @@ -35,7 +36,7 @@ def test_etf_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -67,7 +68,7 @@ def test_etf_historical(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "IOO", "provider": "fmp"}), @@ -85,7 +86,7 @@ def test_etf_info(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "IOO", "provider": "fmp"}), @@ -103,7 +104,7 @@ def test_etf_sectors(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "QQQ", "cik": None, "provider": "fmp"}), @@ -120,7 +121,7 @@ def test_etf_holdings_date(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -152,7 +153,7 @@ def test_etf_holdings(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "SPY,VOO,QQQ,IWM,IWN,GOVT,JNK", "provider": "fmp"})], ) @@ -167,7 +168,7 @@ def test_etf_price_performance(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "IOO"})], ) @@ -182,7 +183,7 @@ def test_etf_countries(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -197,7 +198,7 @@ def test_etf_discovery_gainers(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -212,7 +213,7 @@ def test_etf_discovery_losers(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -227,7 +228,7 @@ def test_etf_discovery_active(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "qqq", "provider": "fmp"}), diff --git a/openbb_platform/extensions/etf/integration/test_etf_python.py b/openbb_platform/extensions/etf/integration/test_etf_python.py index 481b65fff24..588a82e1b9f 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_python.py +++ b/openbb_platform/extensions/etf/integration/test_etf_python.py @@ -1,5 +1,6 @@ """Test etf extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -16,7 +17,7 @@ def obb(pytestconfig): # pylint: disable=inconsistent-return-statements # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": None, "provider": "fmp"}), @@ -32,7 +33,7 @@ def test_etf_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -63,7 +64,7 @@ def test_etf_historical(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "IOO", "provider": "fmp"}), @@ -80,7 +81,7 @@ def test_etf_info(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "IOO", "provider": "fmp"}), @@ -97,7 +98,7 @@ def test_etf_sectors(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "QQQ", "cik": None, "provider": "fmp"}), @@ -113,7 +114,7 @@ def test_etf_holdings_date(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -144,7 +145,7 @@ def test_etf_holdings(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "SPY,VOO,QQQ,IWM,IWN,GOVT,JNK", "provider": "fmp"})], ) @@ -158,7 +159,7 @@ def test_etf_price_performance(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "IOO"})], ) @@ -172,7 +173,7 @@ def test_etf_countries(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -186,7 +187,7 @@ def test_etf_discovery_gainers(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -200,7 +201,7 @@ def test_etf_discovery_losers(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -214,7 +215,7 @@ def test_etf_discovery_active(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "qqq", "provider": "fmp"}), @@ -231,7 +232,7 @@ def test_etf_holdings_performance(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -245,7 +246,7 @@ def test_etf_discovery_gainers2(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) @@ -259,7 +260,7 @@ def test_etf_discovery_losers2(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"sort": "desc", "limit": 10})], ) diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py index 09cb13bd961..385bd85d62d 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -17,9 +18,9 @@ def headers(): return {"Authorization": f"Basic {base64_bytes.decode('ascii')}"} -@pytest.mark.parametrize( +@parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06"})], + [({"start_date": "2023-01-01", "end_date": "2023-06-06", "provider": "fmp"})], ) @pytest.mark.integration def test_fixedincome_government_treasury_rates(params, headers): @@ -34,9 +35,9 @@ def test_fixedincome_government_treasury_rates(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"date": "2023-01-01", "inflation_adjusted": True})], + [({"date": "2023-01-01", "inflation_adjusted": True, "provider": "fred"})], ) @pytest.mark.integration def test_fixedincome_government_us_yield_curve(params, headers): @@ -51,7 +52,7 @@ def test_fixedincome_government_us_yield_curve(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -76,7 +77,7 @@ def test_fixedincome_sofr(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -101,7 +102,7 @@ def test_fixedincome_rate_estr(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -126,7 +127,7 @@ def test_fixedincome_rate_sonia(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -151,7 +152,7 @@ def test_fixedincome_rate_ameribor(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -176,7 +177,7 @@ def test_fixedincome_rate_effr(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({}), ({"long_run": True, "provider": "fred"})], ) @@ -191,7 +192,7 @@ def test_fixedincome_rate_effr_forecast(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"start_date": "2023-01-01", "end_date": "2023-06-06"})], ) @@ -206,7 +207,7 @@ def test_fixedincome_rate_iorb(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -231,7 +232,7 @@ def test_fixedincome_rate_dpcredit(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -254,7 +255,7 @@ def test_fixedincome_rate_ecb(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06", "index_type": "yield"}), @@ -283,7 +284,7 @@ def test_fixedincome_corporate_ice_bofa(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"start_date": "2023-01-01", "end_date": "2023-06-06", "index_type": "aaa"})], ) @@ -298,7 +299,7 @@ def test_fixedincome_corporate_moody(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -308,6 +309,7 @@ def test_fixedincome_corporate_moody(params, headers): "maturity": "30d", "category": "financial", "grade": "aa", + "provider": "fred", } ) ], @@ -325,7 +327,7 @@ def test_fixedincome_corporate_commercial_paper(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -334,6 +336,7 @@ def test_fixedincome_corporate_commercial_paper(params, headers): "end_date": "2023-06-06", "maturity": [10.0], "category": ["spot_rate"], + "provider": "fred", } ) ], @@ -349,7 +352,7 @@ def test_fixedincome_corporate_spot_rates(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"date": "2023-01-01", "yield_curve": "spot"})], ) @@ -364,7 +367,7 @@ def test_fixedincome_corporate_hqm(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "3m"})], ) @@ -379,9 +382,18 @@ def test_fixedincome_spreads_tmc(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "10y"})], + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "maturity": "10y", + "provider": "fred", + } + ) + ], ) @pytest.mark.integration def test_fixedincome_spreads_tmc_effr(params, headers): @@ -394,9 +406,18 @@ def test_fixedincome_spreads_tmc_effr(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "3m"})], + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "maturity": "3m", + "provider": "fred", + } + ) + ], ) @pytest.mark.integration def test_fixedincome_spreads_treasury_effr(params, headers): @@ -409,7 +430,7 @@ def test_fixedincome_spreads_treasury_effr(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"date": "2023-01-01", "yield_curve_type": "spot_rate"}), @@ -436,7 +457,7 @@ def test_fixedincome_government_eu_yield_curve(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py index 5609a6c04d9..5e9b7c712b2 100644 --- a/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py +++ b/openbb_platform/extensions/fixedincome/integration/test_fixedincome_python.py @@ -1,5 +1,6 @@ """Test fixed income extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject # pylint: disable=redefined-outer-name @@ -16,10 +17,10 @@ def obb(pytestconfig): return openbb.obb -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), + ({"start_date": "2023-01-01", "end_date": "2023-06-06", "provider": "fmp"}), ], ) @pytest.mark.integration @@ -30,10 +31,10 @@ def test_fixedincome_government_treasury_rates(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"date": "2023-01-01", "inflation_adjusted": True}), + ({"date": "2023-01-01", "inflation_adjusted": True, "provider": "fred"}), ], ) @pytest.mark.integration @@ -44,7 +45,7 @@ def test_fixedincome_government_us_yield_curve(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -66,7 +67,7 @@ def test_fixedincome_sofr(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -88,7 +89,7 @@ def test_fixedincome_rate_estr(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -110,7 +111,7 @@ def test_fixedincome_rate_sonia(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -132,7 +133,7 @@ def test_fixedincome_rate_ameribor(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -154,7 +155,7 @@ def test_fixedincome_rate_effr(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({}), @@ -169,7 +170,7 @@ def test_fixedincome_rate_effr_forecast(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -183,7 +184,7 @@ def test_fixedincome_rate_iorb(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), @@ -207,7 +208,7 @@ def test_fixedincome_rate_dpcredit(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -229,7 +230,7 @@ def test_fixedincome_rate_ecb(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"start_date": "2023-01-01", "end_date": "2023-06-06", "index_type": "yield"}), @@ -257,7 +258,7 @@ def test_fixedincome_corporate_ice_bofa(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"start_date": "2023-01-01", "end_date": "2023-06-06", "index_type": "aaa"})], ) @@ -271,7 +272,7 @@ def test_fixedincome_corporate_moody(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -281,6 +282,7 @@ def test_fixedincome_corporate_moody(params, obb): "maturity": "30d", "category": "financial", "grade": "aa", + "provider": "fred", } ) ], @@ -295,7 +297,7 @@ def test_fixedincome_corporate_commercial_paper(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -304,6 +306,7 @@ def test_fixedincome_corporate_commercial_paper(params, obb): "end_date": "2023-06-06", "maturity": [10.0], "category": ["spot_rate"], + "provider": "fred", } ) ], @@ -318,7 +321,7 @@ def test_fixedincome_corporate_spot_rates(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"date": "2023-01-01", "yield_curve": "spot"})], ) @@ -332,7 +335,7 @@ def test_fixedincome_corporate_hqm(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "3m"})], ) @@ -346,9 +349,18 @@ def test_fixedincome_spreads_tmc(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "10y"})], + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "maturity": "10y", + "provider": "fred", + } + ) + ], ) @pytest.mark.integration def test_fixedincome_spreads_tmc_effr(params, obb): @@ -360,9 +372,18 @@ def test_fixedincome_spreads_tmc_effr(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06", "maturity": "3m"})], + [ + ( + { + "start_date": "2023-01-01", + "end_date": "2023-06-06", + "maturity": "3m", + "provider": "fred", + } + ) + ], ) @pytest.mark.integration def test_fixedincome_spreads_treasury_effr(params, obb): @@ -374,7 +395,7 @@ def test_fixedincome_spreads_treasury_effr(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"date": "2023-01-01", "yield_curve_type": "spot_rate"}), @@ -398,7 +419,7 @@ def test_fixedincome_government_eu_yield_curve(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/index/integration/test_index_api.py b/openbb_platform/extensions/index/integration/test_index_api.py index e7b3b5767cd..6d9acae9a73 100644 --- a/openbb_platform/extensions/index/integration/test_index_api.py +++ b/openbb_platform/extensions/index/integration/test_index_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [({"index": "dowjones", "provider": "fmp"})], ) @@ -33,7 +34,7 @@ def test_index_constituents(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -145,7 +146,7 @@ def test_index_market(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -187,7 +188,7 @@ def test_index_european(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"symbol": "BUKBUS", "provider": "cboe"})], ) @@ -202,7 +203,7 @@ def test_index_european_constituents(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"europe": True, "provider": "cboe"}), @@ -221,7 +222,7 @@ def test_index_available(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "D", "is_symbol": True, "provider": "cboe"}), @@ -239,7 +240,7 @@ def test_index_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "cboe", "region": "US"})], ) @@ -254,7 +255,7 @@ def test_index_snapshots(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/index/integration/test_index_python.py b/openbb_platform/extensions/index/integration/test_index_python.py index cb23ce6749c..7ee76eca7af 100644 --- a/openbb_platform/extensions/index/integration/test_index_python.py +++ b/openbb_platform/extensions/index/integration/test_index_python.py @@ -1,6 +1,7 @@ """Test economy extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -17,7 +18,7 @@ def obb(pytestconfig): # pylint: disable=inconsistent-return-statements # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"index": "dowjones"}), @@ -31,7 +32,7 @@ def test_index_constituents(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -139,7 +140,7 @@ def test_index_market(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -177,10 +178,10 @@ def test_index_european(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ - ({"symbol": "BUKBUS"}), + ({"symbol": "BUKBUS", "provider": "cboe"}), ], ) @pytest.mark.integration @@ -191,7 +192,7 @@ def test_index_european_constituents(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({}), @@ -208,7 +209,7 @@ def test_index_available(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "D", "is_symbol": True}), @@ -223,7 +224,7 @@ def test_index_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"region": "US"}), @@ -237,7 +238,7 @@ def test_index_snapshots(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/news/integration/test_news_api.py b/openbb_platform/extensions/news/integration/test_news_api.py index f7e16ee254f..c2b766df159 100644 --- a/openbb_platform/extensions/news/integration/test_news_api.py +++ b/openbb_platform/extensions/news/integration/test_news_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -82,7 +83,7 @@ def test_news_world(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbols": "AAPL", "limit": 20, "provider": "benzinga"}), diff --git a/openbb_platform/extensions/news/integration/test_news_python.py b/openbb_platform/extensions/news/integration/test_news_python.py index b78d548def7..baa01f9503b 100644 --- a/openbb_platform/extensions/news/integration/test_news_python.py +++ b/openbb_platform/extensions/news/integration/test_news_python.py @@ -1,6 +1,7 @@ """Test news extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -17,7 +18,7 @@ def obb(pytestconfig): # pylint: disable=inconsistent-return-statements # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ( @@ -77,7 +78,7 @@ def test_news_world(params, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/quantitative/integration/test_quantitative_api.py b/openbb_platform/extensions/quantitative/integration/test_quantitative_api.py index d945ef62928..95620a3e971 100644 --- a/openbb_platform/extensions/quantitative/integration/test_quantitative_api.py +++ b/openbb_platform/extensions/quantitative/integration/test_quantitative_api.py @@ -5,6 +5,7 @@ from typing import Literal import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -64,7 +65,7 @@ def get_data(menu: Literal["equity", "crypto"]): return funcs[menu]() -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close"}, "equity"), @@ -83,7 +84,7 @@ def test_quantitative_normality(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "high"}, "equity"), @@ -102,7 +103,7 @@ def test_quantitative_capm(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -137,7 +138,7 @@ def test_quantitative_omega_ratio(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "window": "5"}, "equity"), @@ -156,7 +157,7 @@ def test_quantitative_kurtosis(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -191,7 +192,7 @@ def test_quantitative_unitroot_test(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "rfr": "", "window": ""}, "equity"), @@ -210,7 +211,7 @@ def test_quantitative_sharpe_ratio(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -247,7 +248,7 @@ def test_quantitative_sortino_ratio(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "window": "220"}, "equity"), @@ -265,7 +266,7 @@ def test_quantitative_skewness(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -300,7 +301,7 @@ def test_quantitative_quantile(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close"}, "equity"), diff --git a/openbb_platform/extensions/quantitative/integration/test_quantitative_python.py b/openbb_platform/extensions/quantitative/integration/test_quantitative_python.py index 14ef7e31333..3ec70f0bf99 100644 --- a/openbb_platform/extensions/quantitative/integration/test_quantitative_python.py +++ b/openbb_platform/extensions/quantitative/integration/test_quantitative_python.py @@ -3,6 +3,7 @@ import random from typing import Literal import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -57,7 +58,7 @@ def get_data(menu: Literal["equity", "crypto"]): return funcs[menu]() -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close"}, "equity"), @@ -74,7 +75,7 @@ def test_quantitative_normality(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close"}, "equity"), @@ -91,7 +92,7 @@ def test_quantitative_capm(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -124,7 +125,7 @@ def test_quantitative_omega_ratio(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "window": "5"}, "equity"), @@ -142,7 +143,7 @@ def test_quantitative_kurtosis(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -175,7 +176,7 @@ def test_quantitative_unitroot_test(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "rfr": "", "window": ""}, "equity"), @@ -192,7 +193,7 @@ def test_quantitative_sharpe_ratio(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -227,7 +228,7 @@ def test_quantitative_sortino_ratio(params, data_type, obb): assert isinstance(result, OBBject) -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close", "window": "220"}, "equity"), @@ -244,7 +245,7 @@ def test_quantitative_skewness(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -278,7 +279,7 @@ def test_quantitative_quantile(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "target": "close"}, "equity"), diff --git a/openbb_platform/extensions/regulators/integration/test_regulators_api.py b/openbb_platform/extensions/regulators/integration/test_regulators_api.py index 6e22235493a..1f005a32b06 100644 --- a/openbb_platform/extensions/regulators/integration/test_regulators_api.py +++ b/openbb_platform/extensions/regulators/integration/test_regulators_api.py @@ -2,6 +2,7 @@ import base64 import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -18,7 +19,7 @@ def headers(): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "TSLA", "provider": "sec"}), @@ -36,7 +37,7 @@ def test_regulators_sec_cik_map(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "berkshire hathaway", "provider": "sec"}), @@ -53,7 +54,7 @@ def test_regulators_sec_institutions_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "2022", "provider": "sec", "url": ""}), @@ -77,7 +78,7 @@ def test_regulators_sec_schema_files(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "0000909832", "provider": "sec"}), @@ -95,7 +96,7 @@ def test_regulators_sec_symbol_map(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "sec"})], ) @@ -110,7 +111,7 @@ def test_regulators_sec_rss_litigation(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [({"query": "oil", "use_cache": False, "provider": "sec"})], ) @@ -125,7 +126,7 @@ def test_regulators_sec_sic_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "grain", "provider": "nasdaq"}), @@ -142,7 +143,7 @@ def test_regulators_cftc_cot_search(params, headers): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/regulators/integration/test_regulators_python.py b/openbb_platform/extensions/regulators/integration/test_regulators_python.py index 4ff5476c231..8a9894fbd46 100644 --- a/openbb_platform/extensions/regulators/integration/test_regulators_python.py +++ b/openbb_platform/extensions/regulators/integration/test_regulators_python.py @@ -1,5 +1,6 @@ """Test Regulators extension.""" import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -17,7 +18,7 @@ def obb(pytestconfig): # pylint: disable=redefined-outer-name -@pytest.mark.parametrize( +@parametrize( "params", [ ({"symbol": "TSLA", "provider": "sec"}), @@ -33,7 +34,7 @@ def test_regulators_sec_cik_map(params, obb): assert isinstance(result.results.cik, str) -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "berkshire hathaway", "provider": "sec"}), @@ -47,7 +48,7 @@ def test_regulators_sec_institutions_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "2022", "provider": "sec", "url": None}), @@ -68,7 +69,7 @@ def test_regulators_sec_schema_files(params, obb): assert len(result.results.files) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "0000909832", "provider": "sec"}), @@ -84,7 +85,7 @@ def test_regulators_sec_symbol_map(params, obb): assert isinstance(result.results.symbol, str) -@pytest.mark.parametrize( +@parametrize( "params", [({"provider": "sec"})], ) @@ -96,7 +97,7 @@ def test_regulators_sec_rss_litigation(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [({"query": "oil", "use_cache": False, "provider": "sec"})], ) @@ -108,7 +109,7 @@ def test_regulators_sec_sic_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ({"query": "grain", "provider": "nasdaq"}), @@ -122,7 +123,7 @@ def test_regulators_cftc_cot_search(params, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params", [ ( diff --git a/openbb_platform/extensions/technical/integration/test_technical_api.py b/openbb_platform/extensions/technical/integration/test_technical_api.py index 517af603cd5..f14df504110 100644 --- a/openbb_platform/extensions/technical/integration/test_technical_api.py +++ b/openbb_platform/extensions/technical/integration/test_technical_api.py @@ -5,6 +5,7 @@ from typing import Literal import pytest import requests +from extensions.tests.conftest import parametrize from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring @@ -66,7 +67,7 @@ def get_crypto_data(): return data["crypto_data"] -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -106,7 +107,7 @@ def test_technical_atr(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -146,7 +147,7 @@ def test_technical_fib(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "offset": ""}, "equity"), @@ -166,7 +167,7 @@ def test_technical_obv(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "signal": ""}, "equity"), @@ -186,7 +187,7 @@ def test_technical_fisher(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -224,7 +225,7 @@ def test_technical_adosc(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -266,7 +267,7 @@ def test_technical_bbands(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -304,7 +305,7 @@ def test_technical_zlma(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "scalar": ""}, "equity"), @@ -332,7 +333,7 @@ def test_technical_aroon(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -370,7 +371,7 @@ def test_technical_sma(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -410,7 +411,7 @@ def test_technical_demark(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "anchor": "", "offset": ""}, "equity"), @@ -430,7 +431,7 @@ def test_technical_vwap(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -470,7 +471,7 @@ def test_technical_macd(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -508,7 +509,7 @@ def test_technical_hma(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -546,7 +547,7 @@ def test_technical_donchian(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -588,7 +589,7 @@ def test_technical_ichimoku(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "date", "target": "close", "period": "10"}, "equity"), @@ -616,7 +617,7 @@ def test_technical_clenow(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "offset": ""}, "equity"), @@ -636,7 +637,7 @@ def test_technical_ad(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -674,7 +675,7 @@ def test_technical_adx(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -712,7 +713,7 @@ def test_technical_wma(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "scalar": ""}, "equity"), @@ -740,7 +741,7 @@ def test_technical_cci(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -780,7 +781,7 @@ def test_technical_rsi(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -818,7 +819,7 @@ def test_technical_stoch(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -858,7 +859,7 @@ def test_technical_kc(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": ""}, "equity"), @@ -878,7 +879,7 @@ def test_technical_cg(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -920,7 +921,7 @@ def test_technical_cones(params, data_type): assert result.status_code == 200 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( diff --git a/openbb_platform/extensions/technical/integration/test_technical_python.py b/openbb_platform/extensions/technical/integration/test_technical_python.py index 2734b57e3ca..02564b5596a 100644 --- a/openbb_platform/extensions/technical/integration/test_technical_python.py +++ b/openbb_platform/extensions/technical/integration/test_technical_python.py @@ -3,6 +3,7 @@ import random from typing import Literal import pytest +from extensions.tests.conftest import parametrize from openbb_core.app.model.obbject import OBBject @@ -57,7 +58,7 @@ def get_data(menu: Literal["stocks", "crypto"]): return funcs[menu]() -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -95,7 +96,7 @@ def test_technical_atr(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -133,7 +134,7 @@ def test_technical_fib(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "offset": ""}, "stocks"), @@ -151,7 +152,7 @@ def test_technical_obv(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "signal": ""}, "stocks"), @@ -169,7 +170,7 @@ def test_technical_fisher(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -205,7 +206,7 @@ def test_technical_adosc(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -245,7 +246,7 @@ def test_technical_bbands(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -281,7 +282,7 @@ def test_technical_zlma(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "scalar": ""}, "stocks"), @@ -307,7 +308,7 @@ def test_technical_aroon(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -343,7 +344,7 @@ def test_technical_sma(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -381,7 +382,7 @@ def test_technical_demark(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "anchor": "", "offset": ""}, "stocks"), @@ -399,7 +400,7 @@ def test_technical_vwap(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -437,7 +438,7 @@ def test_technical_macd(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -473,7 +474,7 @@ def test_technical_hma(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -509,7 +510,7 @@ def test_technical_donchian(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -549,7 +550,7 @@ def test_technical_ichimoku(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "target": "", "period": ""}, "stocks"), @@ -575,7 +576,7 @@ def test_technical_clenow(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -611,7 +612,7 @@ def test_technical_adx(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "offset": ""}, "stocks"), @@ -629,7 +630,7 @@ def test_technical_ad(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -665,7 +666,7 @@ def test_technical_wma(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": "", "scalar": ""}, "stocks"), @@ -691,7 +692,7 @@ def test_technical_cci(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -729,7 +730,7 @@ def test_technical_rsi(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -765,7 +766,7 @@ def test_technical_stoch(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -803,7 +804,7 @@ def test_technical_kc(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ({"data": "", "index": "", "length": ""}, "stocks"), @@ -821,7 +822,7 @@ def test_technical_cg(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( @@ -861,7 +862,7 @@ def test_technical_cones(params, data_type, obb): assert len(result.results) > 0 -@pytest.mark.parametrize( +@parametrize( "params, data_type", [ ( diff --git a/openbb_platform/extensions/tests/conftest.py b/openbb_platform/extensions/tests/conftest.py new file mode 100644 index 00000000000..1e785fc53cd --- /dev/null +++ b/openbb_platform/extensions/tests/conftest.py @@ -0,0 +1,37 @@ +"""Custom pytest configuration for the extensions.""" +from typing import Dict, List + +import pytest +from openbb_core.app.router import CommandMap + +from extensions.tests.utils.helpers import list_openbb_extensions + +cm = CommandMap() +commands = list(cm.map.keys()) + + +def parametrize(argnames: str, argvalues: List[Dict], **kwargs): + """Custom parametrize decorator that filters test cases based on the environment.""" + + extensions, providers = list_openbb_extensions() + + def decorator(function): + """Patch the pytest.mark.parametrize decorator.""" + filtered_argvalues: List[Dict] = [] + extension_name = function.__name__.split("_")[1] + function_name = "/" + "/".join(function.__name__.split("_")[1:]) + + if extension_name in extensions: + for args in argvalues: + if "provider" in args and args["provider"] in providers: + filtered_argvalues.append(args) + elif "provider" not in args and function_name in commands: + # Run the standard test case + filtered_argvalues.append(args) + return pytest.mark.parametrize(argnames, filtered_argvalues, **kwargs)( + function + ) + + return pytest.mark.skip(function) + + return decorator diff --git a/openbb_platform/integration/test_docstring_examples.py b/openbb_platform/extensions/tests/test_docstring_examples.py similarity index 77% rename from openbb_platform/integration/test_docstring_examples.py rename to openbb_platform/extensions/tests/test_docstring_examples.py index e365a4629a5..3e86030921f 100644 --- a/openbb_platform/integration/test_docstring_examples.py +++ b/openbb_platform/extensions/tests/test_docstring_examples.py @@ -1,6 +1,7 @@ """Test utils.""" import pytest -from integration.utils.helpers import check_docstring_examples + +from extensions.tests.utils.helpers import check_docstring_examples @pytest.mark.integration diff --git a/openbb_platform/extensions/tests/utils/helpers.py b/openbb_platform/extensions/tests/utils/helpers.py index b4c307b542a..cd5f0712241 100644 --- a/openbb_platform/extensions/tests/utils/helpers.py +++ b/openbb_platform/extensions/tests/utils/helpers.py @@ -1,13 +1,95 @@ -import base64 +"""Test helpers.""" +import doctest +import glob +import importlib +import logging +import os +from importlib.metadata import entry_points +from typing import Dict, List, Set, Tuple -from openbb_core.env import Env +logging.basicConfig(level=logging.INFO) -def get_auth() -> str: - """Returns the basic auth header.""" +def get_packages_info() -> Dict[str, str]: + """Get the paths and names of all the static packages.""" + paths_and_names: Dict[str, str] = {} + package_paths = glob.glob("openbb_platform/openbb/package/*.py") + for path in package_paths: + name = os.path.basename(path).split(".")[0] + paths_and_names[path] = name - userpass = f"{Env().API_USERNAME}:{Env().API_PASSWORD}" - userpass_bytes = userpass.encode("ascii") - base64_bytes = base64.b64encode(userpass_bytes) + paths_and_names = { + path: name for path, name in paths_and_names.items() if not name.startswith("_") + } + return paths_and_names - return f"Basic {base64_bytes.decode('ascii')}" + +def execute_docstring_examples( + module_name: str, file_path: str, verbose: bool = False +) -> List[str]: + """Execute the docstring examples of a module.""" + errors = [] + module_name = f"openbb.package.{module_name}" + module = importlib.import_module(module_name) + examples = doctest.DocTestFinder().find(module) + + def execute_script(script, source_info): + try: + local_namespace = {} + exec( # noqa: S102 pylint: disable=exec-used + script, local_namespace, local_namespace + ) + if verbose: + logging.info("Executed a test from %s", source_info) + except Exception as e: + errors.append( + f"An exception occurred while executing script from {source_info} - {str(e)}" + ) + + for example in examples: + script_lines = [] + + for test in example.examples: + script_lines.append(test.source) + + script_content = "".join(script_lines) + execute_script(script_content, file_path) + + return errors + + +def check_docstring_examples() -> List[str]: + """Test that the docstring examples execute without errors.""" + errors = [] + paths_and_names = get_packages_info() + + for path, name in paths_and_names.items(): + result = execute_docstring_examples(name, path, verbose=True) + if result: + errors.extend(result) + + return errors + + +def list_openbb_extensions() -> Tuple[Set[str], Set[str]]: + """ + Lists installed openbb extensions and providers. + + Returns + ------- + Tuple[Set[str], Set[str]] + First element: set of installed core extensions. + Second element: set of installed provider extensions. + """ + + core_extensions = set() + provider_extensions = set() + entry_points_dict = entry_points() + + for entry_point in entry_points_dict["openbb_core_extension"]: + core_extensions.add(f"{entry_point.name}") + + for entry_point in entry_points_dict["openbb_provider_extension"]: + provider_extensions.add(f"{entry_point.name}") + + return core_extensions, provider_extensions 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 0516eec2853..ff79f4aa278 100644 --- a/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py +++ b/openbb_platform/extensions/tests/utils/integration_tests_api_generator.py @@ -34,6 +34,7 @@ import pytest import requests from openbb_core.env import Env from openbb_core.provider.utils.helpers import get_querystring +from extensions.tests.conftest import parametrize @pytest.fixture(scope="session") @@ -78,7 +79,7 @@ def write_test_w_template( """ template = f""" -@pytest.mark.parametrize( +@parametrize( "params", [{params_str}], ) @@ -140,7 +141,7 @@ def write_commands_integration_tests( [{k: "" for k in get_post_flat_params(hints)}] if http_method == "post" else get_test_params( - model_name=cm_models[route], + model_name=cm_models[route], # type: ignore provider_interface_map=provider_interface_map, ) ) diff --git a/openbb_platform/extensions/tests/utils/integration_tests_generator.py b/openbb_platform/extensions/tests/utils/integration_tests_generator.py index a1a1b75ce2d..cffe91bac76 100644 --- a/openbb_platform/extensions/tests/utils/integration_tests_generator.py +++ b/openbb_platform/extensions/tests/utils/integration_tests_generator.py @@ -19,7 +19,7 @@ from openbb_core.app.router import CommandMap from pydantic.fields import FieldInfo from pydantic_core import PydanticUndefined -TEST_TEMPLATE = """\n\n@pytest.mark.parametrize( +TEST_TEMPLATE = """\n\n@parametrize( "params", [ {params} @@ -61,6 +61,7 @@ def create_integration_test_files(extensions: List[PosixPath]) -> None: f'''"""Test {extension_name} extension.""" import pytest from openbb_core.app.model.obbject import OBBject +from extensions.tests.conftest import parametrize @pytest.fixture(scope="session") @@ -254,13 +255,13 @@ def add_test_commands_to_file( # pylint: disable=W0102 if extension_name in extensions_data_processing: write_test_data_processing( test_file=test_file, - commands_map=commands_map, + commands_map=commands_map, # type: ignore extension_name=extension_name, ) else: write_test( test_file=test_file, - commands_model=commands_model, + commands_model=commands_model, # type: ignore extension_name=extension_name, provider_interface_map=provider_interface_map, ) @@ -290,7 +291,7 @@ def write_charting_extension_integration_tests(): test_file=test_file, params_list=[{"chart": "True"}], full_command=func.replace("_", "."), - test_name=f"chart_{func}", + test_name=f"chart_{func}", # TODO: fix the name of the charting library extra=extra, ) diff --git a/openbb_platform/integration/utils/helpers.py b/openbb_platform/integration/utils/helpers.py deleted file mode 100644 index cc9b5adc05d..00000000000 --- a/openbb_platform/integration/utils/helpers.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Test helpers.""" -import doctest -import glob -import importlib -import logging -import os -from typing import Dict, List - -logging.basicConfig(level=logging.INFO) - - -def get_packages_info() -> Dict[str, str]: - """Get the paths and names of all the static packages.""" - paths_and_names: Dict[str, str] = {} - package_paths = glob.glob("openbb_platform/openbb/package/*.py") - for path in package_paths: - name = os.path.basename(path).split(".")[0] - paths_and_names[path] = name - - paths_and_names = { - path: name for path, name in paths_and_names.items() if not name.startswith("_") - } - return paths_and_names - - -def execute_docstring_examples( - module_name: str, file_path: str, verbose: bool = False -) -> List[str]: - """Execute the docstring examples of a module.""" - errors = [] - module_name = f"openbb.package.{module_name}" - module = importlib.import_module(module_name) - examples = doctest.DocTestFinder().find(module) - - def execute_script(script, source_info): - try: - local_namespace = {} - exec( # noqa: S102 pylint: disable=exec-used - script, local_namespace, local_namespace - ) - if verbose: - logging.info("Executed a test from %s", source_info) - except Exception as e: - errors.append( - f"An exception occurred while executing script from {source_info} - {str(e)}" - ) - - for example in examples: - script_lines = [] - - for test in example.examples: - script_lines.append(test.source) - - script_content = "".join(script_lines) - execute_script(script_content, file_path) - - return errors - - -def check_docstring_examples() -> List[str]: - """Test that the docstring examples execute without errors.""" - errors = [] - paths_and_names = get_packages_info() - - for path, name in paths_and_names.items(): - result = execute_docstring_examples(name, path, verbose=True) - if result: - errors.extend(result) - - return errors