mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-01 23:12:21 +00:00
* Start * QA controller tests * Unit tests batch 1 * ruff * More tests * Economy unit tests * Tests: economy * table fixes (#4666) * fix: table fixes * fix: tablaroni * fix: pagination protection * fix: dm much more * fix: colors * fix: colors * fix: colors * fix Timestamp on stocks `get_quote` * fix `call_tob` having `quote` as prog/docstring --------- Co-authored-by: teh_coderer <me@tehcoderer.com> * bug as default flair if no login (#4681) * init (#4683) * Feature: Ultima Insights NewsMonitor Integration (#4685) * fix typing issue that prevents running * news monitor integration for news * UX improvements with news monitor integration * italicize riskExtDesc * minor cosmetic changes * minor cosmetic changes * minor cosmetic changes * Update ultima_newsmonitor_view.py * minor fixes to launch properly * setting Ultima API key * Ultima NewsMonitor integration into terminal done * integration of the commands is done * add Ultima to SDK trailmap, but SDK generation failed on M1 Mac * add tests * add unit tests * Linting and sdk * display message if not supported by Ultima News Monitor * Update api-keys.md * fix stock controller problem + remove source filtering from Ultima * remove source filtering from Ultima * add report issue message * add some error handling in the view to ensure unsupported companies don't get fetched * remove powered by Ultima Insights from console output * ran black formatter to fix linting issues * fix ruff issues * fix pylint issues * lint fix * fixed linting issue and changed keys in the Feedparser model * get all tests to pass * proper testing with --record-mode=rewrite * re-run tests for updated VCRs * redid black formatting * re-run test_print_help in stocks controller * make breaking news output consistent and re-run tests * remove unused import time * reran tests with --rewrite-expected --------- Co-authored-by: ovidysus0 <111447781+ovidysus0@users.noreply.github.com> Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com> * Terminal/hub QA (#4678) * move update flair * sort repr * remove packaged sys model var * update decorator for check api key * ruff * change if stat * ruff * no need for new var * pylint * Refactor sources menu (#4668) * add data sources defaults to model * fix f string * refactor sources controller * write sources to file * write to user file * add user data sources file inside OpenBBUserData * append to user file, don't rewrite * fix when sources folder does not exist * codespell * change func name * change path to str * ruff * Add method to upload entire user field * change clear func args * update get_ordered_list_sources function * move flatten * move flatten * change extend func name * remove comment * clean sources utils funcs * mypy * Update utils.py * spacing * docs --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> * Move tradier from hub to local (#4700) * Move tradier from hub to local * Flake error * Disable error * Update stocks_helper.py * Update stocks_helper.py --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> * Unit tests batch * Unit tests batch * ruff * Unit tests batch * Tests : Economy ; moving csv file * Apply black * Apply ruff --------- Co-authored-by: Chavithra PARANA <chavithra@gmail.com> Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com> Co-authored-by: teh_coderer <me@tehcoderer.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Adi Sai <adithya.sairam1@gmail.com> Co-authored-by: ovidysus0 <111447781+ovidysus0@users.noreply.github.com> Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com> Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
96 lines
2.3 KiB
Python
96 lines
2.3 KiB
Python
# IMPORTATION THIRDPARTY
|
|
import pandas as pd
|
|
import pytest
|
|
|
|
# IMPORTATION INTERNAL
|
|
from openbb_terminal.economy import nasdaq_model
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
def vcr_config():
|
|
return {
|
|
"filter_query_parameters": [("api_key", "MOCK_API_KEY")],
|
|
}
|
|
|
|
|
|
@pytest.mark.vcr(record_mode="none")
|
|
def test_check_country_code_type(recorder):
|
|
list_of_codes = "VNM,ARG,AUS"
|
|
result_list = nasdaq_model.check_country_code_type(list_of_codes=list_of_codes)
|
|
|
|
recorder.capture(result_list)
|
|
|
|
|
|
@pytest.mark.vcr
|
|
def test_get_big_mac_index(recorder):
|
|
result_df = nasdaq_model.get_big_mac_index(country_code="VNM")
|
|
|
|
recorder.capture(result_df)
|
|
|
|
|
|
@pytest.mark.vcr(record_mode="none")
|
|
def test_get_big_mac_index_no_response(mocker):
|
|
# MOCK GET
|
|
attrs = {"status_code": 400}
|
|
mock_response = mocker.Mock(**attrs)
|
|
mocker.patch(
|
|
target="openbb_terminal.helper_funcs.requests.get",
|
|
new=mocker.Mock(return_value=mock_response),
|
|
)
|
|
|
|
result_df = nasdaq_model.get_big_mac_index(country_code="VNM")
|
|
|
|
assert isinstance(result_df, pd.DataFrame)
|
|
assert result_df.empty
|
|
|
|
|
|
@pytest.mark.vcr
|
|
def test_get_economic_calendar(recorder):
|
|
result_df = nasdaq_model.get_economic_calendar(
|
|
["United States"], start_date="2022-10-20", end_date="2022-10-21"
|
|
)
|
|
|
|
recorder.capture(result_df)
|
|
|
|
|
|
@pytest.mark.vcr
|
|
def test_get_economic_calendar_bad_country_name(recorder):
|
|
result_df = nasdaq_model.get_economic_calendar(
|
|
"hidhf", start_date="2022-10-20", end_date="2022-10-21"
|
|
)
|
|
|
|
recorder.capture(result_df)
|
|
|
|
|
|
@pytest.mark.record_http
|
|
def test_get_big_mac_indices():
|
|
result_df = nasdaq_model.get_big_mac_indices()
|
|
|
|
assert isinstance(result_df, pd.DataFrame)
|
|
assert not result_df.empty
|
|
|
|
|
|
def test_get_big_mac_indices_bad_response(mocker):
|
|
# MOCK GET
|
|
attrs = {"status_code": 400}
|
|
mock_response = mocker.Mock(**attrs)
|
|
mocker.patch(
|
|
target="openbb_terminal.helper_funcs.requests.get",
|
|
new=mocker.Mock(return_value=mock_response),
|
|
)
|
|
|
|
result_df = nasdaq_model.get_big_mac_indices()
|
|
|
|
assert isinstance(result_df, pd.DataFrame)
|
|
assert result_df.empty
|
|
|
|
|
|
def test_get_country_names():
|
|
result_list = nasdaq_model.get_country_names()
|
|
|
|
assert isinstance(result_list, list)
|
|
|
|
|
|
def test_get_country_codes():
|
|
nasdaq_model.get_country_codes()
|