resolved RESOLVED UNSUBMITTED PASS · None tool calls · 0 s · fastapi/fastapi
(not found in data/tasks.jsonl)
| # | Tool | Arguments | Result |
|---|---|---|---|
| No trace captured. | |||
--- a/fastapi/dependencies/utils.py
+++ b/fastapi/dependencies/utils.py
@@ -129,39 +129,12 @@ def get_parameterless_sub_dependant(*, depends: params.Depends, path: str) -> De
assert callable(depends.dependency), (
"A parameter-less dependency must have a callable dependency"
)
- return get_sub_dependant(depends=depends, dependency=depends.dependency, path=path)
-
-
-def get_sub_dependant(
- *,
- depends: params.Depends,
- dependency: Callable[..., Any],
- path: str,
- name: Optional[str] = None,
- security_scopes: Optional[List[str]] = None,
-) -> Dependant:
- security_requirement = None
- security_scopes = security_scopes or []
- if isinstance(depends, params.Security):
- if depends.scopes:
- security_scopes.extend(depends.scopes)
- if isinstance(dependency, SecurityBase):
- use_scopes: List[str] = []
- if isinstance(dependency, (OAuth2, OpenIdConnect)):
- use_scopes = security_scopes
- security_requirement = SecurityRequirement(
- security_scheme=dependency, scopes=use_scopes
- )
- sub_dependant = get_dependant(
- path=path,
- call=dependency,
- name=name,
- security_scopes=security_scopes,
- use_cache=depends.use_cache,
+ use_security_scopes: List[str] = []
+ if isinstance(depends, params.Security) and depends.scopes:
+ use_security_scopes.extend(depends.scopes)
+ return get_dependant(
+ path=path, call=depends.dependency, security_scopes=use_security_scopes
)
- if security_requirement:
- sub_dependant.security_requirements.append(security_requirement)
- return sub_dependant
CacheKey = Tuple[Optional[Callable[..., Any]], Tuple[str, ...]]
@@ -285,13 +258,27 @@ def get_dependant(
)
if param_details.depends is not None:
assert param_details.depends.dependency
- sub_dependant = get_sub_dependant(
- depends=param_details.depends,
- dependency=param_details.depends.dependency,
+ use_security_scopes = security_scopes or []
+ if isinstance(param_details.depends, params.Security):
+ if param_details.depends.scopes:
+ use_security_scopes.extend(param_details.depends.scopes)
+ sub_dependant = get_dependant(
path=path,
+ call=param_details.depends.dependency,
name=param_name,
- security_scopes=security_scopes,
+ security_scopes=use_security_scopes,
+ use_cache=param_details.depends.use_cache,
)
+ if isinstance(param_details.depends.dependency, SecurityBase):
+ use_scopes: List[str] = []
+ if isinstance(
+ param_details.depends.dependency, (OAuth2, OpenIdConnect)
+ ):
+ use_scopes = use_security_scopes
+ security_requirement = SecurityRequirement(
+ security_scheme=param_details.depends.dependency, scopes=use_scopes
+ )
+ sub_dependant.security_requirements.append(security_requirement)
dependant.dependencies.append(sub_dependant)
continue
if add_non_field_param_to_dependency(
.... [100%]
=============================== warnings summary ===============================
../../../../../../../Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/overlays/starlette-0.49.3-py3-none-any/starlette/testclient.py:51
/Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/overlays/starlette-0.49.3-py3-none-any/starlette/testclient.py:51: DeprecationWarning: The anyio.abc.BlockingPortal alias is deprecated, use anyio.from_thread.BlockingPortal instead.
_PortalFactoryType = Callable[[], AbstractContextManager[anyio.abc.BlockingPortal]]
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
4 passed, 1 warning in 0.56s