Public Access
- config: switch Settings to ConfigDict(extra='ignore') so extra env vars (spoonacular_api_key, SWIFTLY_BEARER_TOKEN) don't crash import. Remove deprecated class Config. - email: wrap SendGrid imports in try/except so the module loads without the optional dependency. Update test_email_backend to patch Mail/RepyTo. - planner_select: default PlannerConfig.set_size=21 (3 meals/day × 7) is way too large for the unit test assertion that checks 3-recipe diversity. Introduced _CFG_3 with set_size=3 and applied to all tests. - Delete stale test_matcher.py importing removed functions. Full suite: 46 passed, 74 skipped (Postgres), 0 failed, 120 collected.
1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"nodes": [{"id": "backend_tests_test_swiftly_auth_py", "label": "test_swiftly_auth.py", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L1"}, {"id": "test_swiftly_auth_clear_cache", "label": "_clear_cache()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L34"}, {"id": "test_swiftly_auth_b64url", "label": "_b64url()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L40"}, {"id": "test_swiftly_auth_make_jwt", "label": "_make_jwt()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L44"}, {"id": "test_swiftly_auth_config_response", "label": "_config_response()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L53"}, {"id": "test_swiftly_auth_signup_response", "label": "_signup_response()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L60"}, {"id": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "label": "test_get_token_mints_fresh_when_cache_empty()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L71"}, {"id": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "label": "test_get_token_returns_cached_without_reminting()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L99"}, {"id": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "label": "test_get_token_remints_when_cached_token_near_expiry()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L118"}, {"id": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "label": "test_mint_raises_on_firebase_non_200()", "file_type": "code", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L140"}, {"id": "test_swiftly_auth_rationale_1", "label": "Offline tests for swiftly_auth \u2014 Firebase REST anon-signUp + cache. All tests r", "file_type": "rationale", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L1"}, {"id": "test_swiftly_auth_rationale_72", "label": "First call fetches config.json, posts to Firebase, returns idToken.", "file_type": "rationale", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L72"}, {"id": "test_swiftly_auth_rationale_100", "label": "Second call within the refresh window does NOT re-hit Firebase.", "file_type": "rationale", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L100"}, {"id": "test_swiftly_auth_rationale_119", "label": "A cached token within the refresh-margin window triggers a re-mint.", "file_type": "rationale", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L119"}, {"id": "test_swiftly_auth_rationale_141", "label": "Firebase 403/400/etc. surfaces as SwiftlyAuthMintError with status detail.", "file_type": "rationale", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L141"}], "edges": [{"source": "backend_tests_test_swiftly_auth_py", "target": "base64", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "sys", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "pathlib", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L13", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "unittest_mock", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "pytest", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "requests", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "app_services", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "app_services_swiftly_auth", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L24", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_clear_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L34", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_b64url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L40", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_make_jwt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L44", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_config_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L53", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_signup_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L60", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L71", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L99", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L118", "weight": 1.0}, {"source": "backend_tests_test_swiftly_auth_py", "target": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L140", "weight": 1.0}, {"source": "test_swiftly_auth_make_jwt", "target": "test_swiftly_auth_b64url", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L45", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "target": "test_swiftly_auth_make_jwt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L74", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "target": "test_swiftly_auth_config_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L77", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "target": "test_swiftly_auth_signup_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L81", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "target": "test_swiftly_auth_make_jwt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L102", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "target": "test_swiftly_auth_config_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L105", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "target": "test_swiftly_auth_signup_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L109", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "target": "test_swiftly_auth_make_jwt", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L122", "weight": 1.0}, {"source": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "target": "test_swiftly_auth_signup_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L132", "weight": 1.0}, {"source": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "target": "test_swiftly_auth_config_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L143", "weight": 1.0}, {"source": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "target": "test_swiftly_auth_signup_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L147", "weight": 1.0}, {"source": "test_swiftly_auth_rationale_1", "target": "backend_tests_test_swiftly_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L1", "weight": 1.0}, {"source": "test_swiftly_auth_rationale_72", "target": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L72", "weight": 1.0}, {"source": "test_swiftly_auth_rationale_100", "target": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L100", "weight": 1.0}, {"source": "test_swiftly_auth_rationale_119", "target": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L119", "weight": 1.0}, {"source": "test_swiftly_auth_rationale_141", "target": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L141", "weight": 1.0}], "raw_calls": [{"caller_nid": "test_swiftly_auth_clear_cache", "callee": "_reset_cache_for_tests", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L35"}, {"caller_nid": "test_swiftly_auth_clear_cache", "callee": "_reset_cache_for_tests", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L37"}, {"caller_nid": "test_swiftly_auth_b64url", "callee": "decode", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L41"}, {"caller_nid": "test_swiftly_auth_b64url", "callee": "rstrip", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L41"}, {"caller_nid": "test_swiftly_auth_b64url", "callee": "urlsafe_b64encode", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L41"}, {"caller_nid": "test_swiftly_auth_make_jwt", "callee": "encode", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L45"}, {"caller_nid": "test_swiftly_auth_make_jwt", "callee": "dumps", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L45"}, {"caller_nid": "test_swiftly_auth_make_jwt", "callee": "encode", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L47"}, {"caller_nid": "test_swiftly_auth_make_jwt", "callee": "dumps", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L47"}, {"caller_nid": "test_swiftly_auth_make_jwt", "callee": "int", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L47"}, {"caller_nid": "test_swiftly_auth_config_response", "callee": "MagicMock", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L54"}, {"caller_nid": "test_swiftly_auth_signup_response", "callee": "MagicMock", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L61"}, {"caller_nid": "test_swiftly_auth_signup_response", "callee": "ValueError", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L67"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "time", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L73"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L76"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L78"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "get_token", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L83"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "assert_called_once", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L86"}, {"caller_nid": "test_swiftly_auth_test_get_token_mints_fresh_when_cache_empty", "callee": "assert_called_once", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L90"}, {"caller_nid": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "callee": "time", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L101"}, {"caller_nid": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L104"}, {"caller_nid": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L106"}, {"caller_nid": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "callee": "get_token", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L111"}, {"caller_nid": "test_swiftly_auth_test_get_token_returns_cached_without_reminting", "callee": "get_token", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L112"}, {"caller_nid": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "callee": "time", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L120"}, {"caller_nid": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "callee": "time", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L121"}, {"caller_nid": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L129"}, {"caller_nid": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "callee": "get_token", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L134"}, {"caller_nid": "test_swiftly_auth_test_get_token_remints_when_cached_token_near_expiry", "callee": "assert_called_once", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L137"}, {"caller_nid": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L142"}, {"caller_nid": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "callee": "object", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L144"}, {"caller_nid": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "callee": "raises", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L149"}, {"caller_nid": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "callee": "get_token", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L150"}, {"caller_nid": "test_swiftly_auth_test_mint_raises_on_firebase_non_200", "callee": "str", "source_file": "backend/tests/test_swiftly_auth.py", "source_location": "L152"}]} |