Files
Meal-Planner/graphify-out/cache/cd19f7953985319eb2687fad2eb4655088cfac2cd341f8a5970e9fe59dccf8c8.json
T
admin 019f9020ad tests: fix suite-wide collection and failures
- 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.
2026-05-18 17:43:30 -07:00

1 line
6.8 KiB
JSON

{"nodes": [{"id": "backend_app_security_py", "label": "security.py", "file_type": "code", "source_file": "backend/app/security.py", "source_location": "L1"}, {"id": "security_require_admin", "label": "require_admin()", "file_type": "code", "source_file": "backend/app/security.py", "source_location": "L29"}, {"id": "security_signer", "label": "_signer()", "file_type": "code", "source_file": "backend/app/security.py", "source_location": "L45"}, {"id": "security_issue_session", "label": "issue_session()", "file_type": "code", "source_file": "backend/app/security.py", "source_location": "L49"}, {"id": "security_require_session", "label": "require_session()", "file_type": "code", "source_file": "backend/app/security.py", "source_location": "L54"}, {"id": "security_rationale_1", "label": "Auth dependencies for the MealPlanner backend. Two flavors: - ``require_admin``", "file_type": "rationale", "source_file": "backend/app/security.py", "source_location": "L1"}, {"id": "security_rationale_30", "label": "Enforce a shared bearer token. 401 on bad/missing token, 503 if unset.", "file_type": "rationale", "source_file": "backend/app/security.py", "source_location": "L30"}, {"id": "security_rationale_50", "label": "Sign the family_profile_id and return the cookie value.", "file_type": "rationale", "source_file": "backend/app/security.py", "source_location": "L50"}, {"id": "security_rationale_55", "label": "Auto-authenticate: return the first family_profile_id from the DB. No cooki", "file_type": "rationale", "source_file": "backend/app/security.py", "source_location": "L55"}], "edges": [{"source": "backend_app_security_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_app_security_py", "target": "itsdangerous", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_app_security_py", "target": "app_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L19", "weight": 1.0}, {"source": "backend_app_security_py", "target": "app_database", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_app_security_py", "target": "app_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_app_security_py", "target": "security_require_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L29", "weight": 1.0}, {"source": "backend_app_security_py", "target": "security_signer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L45", "weight": 1.0}, {"source": "backend_app_security_py", "target": "security_issue_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L49", "weight": 1.0}, {"source": "backend_app_security_py", "target": "security_require_session", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L54", "weight": 1.0}, {"source": "security_issue_session", "target": "security_signer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L51", "weight": 1.0}, {"source": "security_require_session", "target": "security_signer", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L66", "weight": 1.0}, {"source": "security_rationale_1", "target": "backend_app_security_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L1", "weight": 1.0}, {"source": "security_rationale_30", "target": "security_require_admin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L30", "weight": 1.0}, {"source": "security_rationale_50", "target": "security_issue_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L50", "weight": 1.0}, {"source": "security_rationale_55", "target": "security_require_session", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/security.py", "source_location": "L55", "weight": 1.0}], "raw_calls": [{"caller_nid": "security_require_admin", "callee": "HTTPException", "source_file": "backend/app/security.py", "source_location": "L33"}, {"caller_nid": "security_require_admin", "callee": "get", "source_file": "backend/app/security.py", "source_location": "L37"}, {"caller_nid": "security_require_admin", "callee": "startswith", "source_file": "backend/app/security.py", "source_location": "L38"}, {"caller_nid": "security_require_admin", "callee": "HTTPException", "source_file": "backend/app/security.py", "source_location": "L39"}, {"caller_nid": "security_signer", "callee": "TimestampSigner", "source_file": "backend/app/security.py", "source_location": "L46"}, {"caller_nid": "security_issue_session", "callee": "decode", "source_file": "backend/app/security.py", "source_location": "L51"}, {"caller_nid": "security_issue_session", "callee": "sign", "source_file": "backend/app/security.py", "source_location": "L51"}, {"caller_nid": "security_issue_session", "callee": "encode", "source_file": "backend/app/security.py", "source_location": "L51"}, {"caller_nid": "security_require_session", "callee": "get", "source_file": "backend/app/security.py", "source_location": "L62"}, {"caller_nid": "security_require_session", "callee": "decode", "source_file": "backend/app/security.py", "source_location": "L66"}, {"caller_nid": "security_require_session", "callee": "unsign", "source_file": "backend/app/security.py", "source_location": "L66"}, {"caller_nid": "security_require_session", "callee": "encode", "source_file": "backend/app/security.py", "source_location": "L66"}, {"caller_nid": "security_require_session", "callee": "next", "source_file": "backend/app/security.py", "source_location": "L72"}, {"caller_nid": "security_require_session", "callee": "get_db", "source_file": "backend/app/security.py", "source_location": "L72"}, {"caller_nid": "security_require_session", "callee": "first", "source_file": "backend/app/security.py", "source_location": "L73"}, {"caller_nid": "security_require_session", "callee": "query", "source_file": "backend/app/security.py", "source_location": "L73"}, {"caller_nid": "security_require_session", "callee": "str", "source_file": "backend/app/security.py", "source_location": "L75"}]}