Files
OpenBB/tests/openbb_terminal/forecast/conftest.py
Theodore Aptekarev 4b7cfd1699 Feature/dependency grooming (#4166)
* Updating poetry to v1.3.2 and dependencies

* Fixing conda pip syntax

* Updating poetry.lock

* Updating requirements

* Updating Windows10 build

* Windows10 build updates

* Windows10 build update

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Windows10 build updates

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating Intel MacOS Build

* Updating M1 MacOS Build

* Lets get M1 working

* Lets get M1 working

* Permission Issue on tests / New setup.nsis

* Merging the latest changes and picking integration tests to run

* Adding Mac requirements

* Fixing spelling

* Limiting integration tests on builds

* commenting out MessageBox prints on win installer

* update pinned lightgbm version

* fix tests

* ignore lightning logs for tests

* Unify dependencies across platforms

* Add pyinstaller to requirements full

* Remove pyupgrade from top level dependencies

* Use conda poetry on env file

* Pin lightgbm to be installed form conda-forge

* Pin latest supported version of lightgbm for intel macs

* Use same requirements across all platforms

* Pin tenacity to avoid pip resolution conflict due to finviz 1.4.5 package bug

* Remove torch dylibs from signing because 1.13 doesn't have those

* Identify pinned lightgbm as a part of the prediction extra

* rewrite ov cassettes (#4171)

* Update some tests

* Fix typo in Windows build test launch command

* Add torch dylibs back to from signing

This reverts commit 4a1aabb1fe.

* Fix torch dylibs path typo

* Package torch into the pyinstaller bundle

* Package torch dylibs as binaries

* Pin torch back to 11

This reverts commit 4a1aabb1fe.

* Refactor code signing paths

* Revert "Refactor code signing paths"

This reverts commit 1c948b3f50.

* Fix typos in yaml files

* Update test

* Update tests expected ouput

* Tests : fix cassettes

* Fix merge conflict

* Try to fix test_yahoo_finance_view.py fail in CI

* Tests : update cassette + txt

* Tests : cassette

* Build : update lightgbm version

* Tests : update cassette + txt

---------

Co-authored-by: Artem Veremey <artem@veremey.net>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Artem Veremey <aia@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: martinb-bb <105685594+martinb-bb@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
2023-02-09 22:35:26 +01:00

46 lines
1.3 KiB
Python

import os
import pandas as pd
import pytest
from _pytest.nodes import Node
def create_path(*path: str) -> str:
base_path = os.path.dirname(os.path.abspath(__file__))
in_between = os.path.dirname(base_path)
default_path = os.path.join(in_between, *path)
return default_path
@pytest.fixture
def tsla_csv():
path = create_path("forecast", "data", "TSLA.csv")
df = pd.read_csv(path)
df.columns = [x.lower() for x in df.columns]
df["date"] = df["date"].apply(lambda x: pd.to_datetime(x))
return df
def test_model(model, data, *args, **kwargs):
try:
_, _, predict, MAPE, _ = model(data, *args, **kwargs)
except ValueError:
_, _, predict, MAPE, _, _ = model(data, *args, **kwargs)
try:
predict_list = predict.pd_dataframe()["close"].tolist()
except (AssertionError, KeyError):
predict_list = predict.quantile_df()
predict_list = predict_list[predict_list.columns[0]].tolist()
return predict_list, MAPE
# make same fuction but for anomaly detection model
def test_anom_model(model, data, *args, **kwargs):
ticker_series, anom_score, binary_anom = model(data, *args, **kwargs)
return ticker_series, anom_score, binary_anom
def pytest_runtest_setup(item: Node):
if not item.config.getoption("--prediction"):
pytest.skip(msg="Runs only with option : --prediction")