mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
Introduce integration test modularity (#5865)
* Introduce integration test modularity * Fix Python 3.9 error * Add TODO * Update generators * Handle endpoints that only feature one provider that is not installed * Fix failing unit test
This commit is contained in:
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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"}),
|
||||
|
||||
@@ -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"}),
|
||||
|
||||
@@ -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"]},
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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"})],
|
||||
)
|
||||
|
||||
@@ -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"})],
|
||||
)
|
||||
|
||||
@@ -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"}),
|
||||
|
||||
@@ -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})],
|
||||
)
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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"}),
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
@@ -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",
|
||||
[
|
||||
(
|
||||
|
||||
37
openbb_platform/extensions/tests/conftest.py
Normal file
37
openbb_platform/extensions/tests/conftest.py
Normal file
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user