-
-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Hi there - how are you supposed to override a custom field dependency?
In the canonical example:
from fast_depends import inject
from fast_depends.library import CustomField
class Header(CustomField):
def use(self, /, **kwargs: AnyDict) -> AnyDict:
kwargs = super().use(**kwargs)
kwargs[self.param_name] = kwargs["headers"][self.param_name]
return kwargs
@inject
def my_func(header_field: int = Header()):
return header_field
assert my_func(
headers={ "header_field": "1" }
) == 1If we wanted to override the Header() dependency using dependency_provider - how would we do that? I'm not sure how to access the call property of the CustomField instance.
e.g.
from fast_depends import dependency_provider
def mock_provider() -> MockHeader:
pass
@inject
def my_func(header_field: int = Header()):
return header_field
dependency_provider.dependency_overrides[WHAT_GOES_HERE] = mock_provider
assert my_func(
headers={ "header_field": "1" }
) == 1Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request