From 1e349b8904c6fa52c6f0925453513354c1a4e392 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Mon, 18 May 2026 00:43:00 -0700 Subject: fix: give each statement fetcher its own cache to prevent key collisions --- backend/tests/test_api.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'backend/tests/test_api.py') diff --git a/backend/tests/test_api.py b/backend/tests/test_api.py index e5dcead..0054c49 100644 --- a/backend/tests/test_api.py +++ b/backend/tests/test_api.py @@ -12,6 +12,9 @@ def clear_service_caches() -> None: data_service.PRICE_CACHE.clear() data_service.HISTORY_CACHE.clear() data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.SHARES_CACHE.clear() data_service.RATIO_CACHE.clear() data_service.FINANCIALS_CACHE.clear() @@ -413,6 +416,9 @@ def test_overview_uses_computed_sources_and_ratios(monkeypatch) -> None: def test_build_income_annual_columns_and_ttm(monkeypatch) -> None: data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.FINANCIALS_CACHE.clear() inc_annual = annual_frame({ @@ -447,6 +453,9 @@ def test_build_income_annual_columns_and_ttm(monkeypatch) -> None: def test_build_income_quarterly_eight_columns(monkeypatch) -> None: data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.FINANCIALS_CACHE.clear() cols = pd.to_datetime([ @@ -474,6 +483,9 @@ def test_build_income_quarterly_eight_columns(monkeypatch) -> None: def test_build_balance_mrq_column(monkeypatch) -> None: data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.FINANCIALS_CACHE.clear() bal_annual = annual_frame({"Total Assets": [364_900.0, 335_000.0, 352_800.0, 351_000.0]}) @@ -495,6 +507,9 @@ def test_build_balance_mrq_column(monkeypatch) -> None: def test_build_cash_flow_fcf(monkeypatch) -> None: data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.FINANCIALS_CACHE.clear() cf_annual = annual_frame({ @@ -532,6 +547,9 @@ def test_build_cash_flow_fcf(monkeypatch) -> None: def test_get_financials_empty_statements(monkeypatch) -> None: data_service.STATEMENT_CACHE.clear() + data_service.INCOME_CACHE.clear() + data_service.BALANCE_CACHE.clear() + data_service.CF_CACHE.clear() data_service.FINANCIALS_CACHE.clear() monkeypatch.setattr(data_service, "get_income_statement", lambda sym, quarterly=False: pd.DataFrame()) -- cgit v1.3-2-g0d8e