def test_repr(self): provider = providers.AbstractCallable(_example) self.assertEqual( repr(provider), '<dependency_injector.providers.' 'AbstractCallable({0}) at {1}>'.format(repr(_example), hex(id(provider))))
def test_call_overridden_by_delegated_callable(): def _abstract_example(): pass provider = providers.AbstractCallable(_abstract_example) provider.override(providers.DelegatedCallable(example)) assert provider(1, 2, 3, 4) == (1, 2, 3, 4)
def test_call_overridden_by_delegated_callable(self): def _abstract_example(): pass provider = providers.AbstractCallable(_abstract_example) provider.override(providers.DelegatedCallable(_example)) self.assertTrue(provider(1, 2, 3, 4), (1, 2, 3, 4))
def test_provide_not_implemented(self): provider = providers.AbstractCallable(_example) with self.assertRaises(NotImplementedError): provider._provide((1, 2, 3, 4), dict())
def test_override_by_not_callable(self): provider = providers.AbstractCallable(_example) with self.assertRaises(errors.Error): provider.override(providers.Factory(object))
def test_call_not_overridden(self): provider = providers.AbstractCallable(_example) with self.assertRaises(errors.Error): provider(1, 2, 3, 4)
def test_inheritance(self): self.assertIsInstance(providers.AbstractCallable(_example), providers.Callable)
kwargs4: Dict[str, Any] = provider4.kwargs # Test 5: to check the provided instance interface provider5 = providers.Callable(Animal) provided5: providers.ProvidedInstance = provider5.provided attr_getter5: providers.AttributeGetter = provider5.provided.attr item_getter5: providers.ItemGetter = provider5.provided['item'] method_caller: providers.MethodCaller = provider5.provided.method.call(123, arg=324) # Test 6: to check the DelegatedCallable provider6 = providers.DelegatedCallable(Cat) animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0) # Test 7: to check the AbstractCallable provider7 = providers.AbstractCallable(Animal) provider7.override(providers.Callable(Cat)) animal7: Animal = provider7(1, 2, 3, b='1', c=2, e=0.0) # Test 8: to check the CallableDelegate __init__ provider8 = providers.CallableDelegate(providers.Callable(lambda: None)) # Test 9: to check the return type with await provider9 = providers.Callable(Cat) async def _async9() -> None: animal1: Animal = await provider9(1, 2, 3, b='1', c=2, e=0.0) # type: ignore animal2: Animal = await provider9.async_(1, 2, 3, b='1', c=2, e=0.0)
def test_inheritance(): assert isinstance(providers.AbstractCallable(example), providers.Callable)
def test_repr(): provider = providers.AbstractCallable(example) assert repr(provider) == ("<dependency_injector.providers." "AbstractCallable({0}) at {1}>".format( repr(example), hex(id(provider))))
def test_provide_not_implemented(): provider = providers.AbstractCallable(example) with raises(NotImplementedError): provider._provide((1, 2, 3, 4), dict())
def test_override_by_not_callable(): provider = providers.AbstractCallable(example) with raises(errors.Error): provider.override(providers.Factory(object))
def test_call_not_overridden(): provider = providers.AbstractCallable(example) with raises(errors.Error): provider(1, 2, 3, 4)