Update quotes in tests

This commit is contained in:
Roman Mogylatov 2021-09-30 20:09:42 -04:00
parent 0b1e214135
commit 8ade2b7839
52 changed files with 1285 additions and 1287 deletions

View File

@ -3659,8 +3659,8 @@ static const char __pyx_k_to[] = "to";
static const char __pyx_k_0_1[] = "{0}={1}";
static const char __pyx_k__10[] = "__";
static const char __pyx_k__30[] = ", ";
static const char __pyx_k__31[] = "('";
static const char __pyx_k__32[] = "')";
static const char __pyx_k__31[] = "(\"";
static const char __pyx_k__32[] = "\")";
static const char __pyx_k__33[] = ")";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_doc[] = "__doc__";
@ -78727,7 +78727,7 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.__provides}\')'
* return f'{self.__class__.__name__}("{self.__provides}")'
*
*/
@ -78760,7 +78760,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
/* "dependency_injector/providers.pyx":4054
*
* def __repr__(self):
* return f'{self.__class__.__name__}(\'{self.__provides}\')' # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}("{self.__provides}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
@ -78808,7 +78808,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.__provides}\')'
* return f'{self.__class__.__name__}("{self.__provides}")'
*
*/
@ -78826,7 +78826,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
}
/* "dependency_injector/providers.pyx":4056
* return f'{self.__class__.__name__}(\'{self.__provides}\')'
* return f'{self.__class__.__name__}("{self.__provides}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@ -78982,7 +78982,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
goto __pyx_L0;
/* "dependency_injector/providers.pyx":4056
* return f'{self.__class__.__name__}(\'{self.__provides}\')'
* return f'{self.__class__.__name__}("{self.__provides}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@ -80355,7 +80355,7 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
*/
@ -80388,7 +80388,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
/* "dependency_injector/providers.pyx":4110
*
* def __repr__(self):
* return f'{self.__class__.__name__}(\'{self.name}\')' # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}("{self.name}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
@ -80439,7 +80439,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
*/
@ -80457,7 +80457,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
}
/* "dependency_injector/providers.pyx":4112
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@ -80642,7 +80642,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
goto __pyx_L0;
/* "dependency_injector/providers.pyx":4112
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@ -82639,7 +82639,7 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
*/
@ -82672,7 +82672,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
/* "dependency_injector/providers.pyx":4192
*
* def __repr__(self):
* return f'{self.__class__.__name__}(\'{self.name}\')' # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}("{self.name}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
@ -82723,7 +82723,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
*/
@ -82741,7 +82741,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
}
/* "dependency_injector/providers.pyx":4194
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@ -82926,7 +82926,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
goto __pyx_L0;
/* "dependency_injector/providers.pyx":4194
* return f'{self.__class__.__name__}(\'{self.name}\')'
* return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))

View File

@ -4051,7 +4051,7 @@ cdef class ProvidedInstance(Provider):
super().__init__()
def __repr__(self):
return f'{self.__class__.__name__}(\'{self.__provides}\')'
return f'{self.__class__.__name__}("{self.__provides}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))
@ -4107,7 +4107,7 @@ cdef class AttributeGetter(Provider):
super().__init__()
def __repr__(self):
return f'{self.__class__.__name__}(\'{self.name}\')'
return f'{self.__class__.__name__}("{self.name}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))
@ -4189,7 +4189,7 @@ cdef class ItemGetter(Provider):
super().__init__()
def __repr__(self):
return f'{self.__class__.__name__}(\'{self.name}\')'
return f'{self.__class__.__name__}("{self.name}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))

View File

@ -14,15 +14,15 @@ class Tester(object):
self.provider_modules = provider_modules
self.tests = [getattr(self, name)
for name in dir(self)
if name.startswith('test')]
if name.startswith("test")]
self.total_time = 0
self.duration_factor = duration_factor
def run(self):
"""Run all tests for all provider modules."""
for module in self.provider_modules:
print('\n')
print('Running tests for module - "{module}":'
print("\n")
print("Running tests for module - \"{module}\":"
.format(module=module.__name__))
gc.disable()
@ -30,13 +30,13 @@ class Tester(object):
start_time = time.time()
test(module)
self.total_time = time.time() - start_time
print('Test "{test}" took - {time}'
print("Test \"{test}\" took - {time}"
.format(test=test.__name__,
time=self.total_time))
gc.collect()
gc.enable()
print('\n')
print("\n")
def test_raw_3_kw_injections(self, providers):
"""Test 3 keyword argument injections."""
@ -53,7 +53,7 @@ class Tester(object):
def __init__(self, a, b, c):
pass
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
Test(a=A(), b=B(), c=C())
def test_factory_3_factory_kw_injections(self, providers):
@ -78,7 +78,7 @@ class Tester(object):
a=a_factory,
b=b_factory,
c=c_factory)
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_abstract_factory_3_factory_kw_injections(self, providers):
@ -104,7 +104,7 @@ class Tester(object):
a=a_factory,
b=b_factory,
c=c_factory))
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_factory_6_factory_kw_injections_0_context(self, providers):
@ -114,7 +114,7 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, a=1, b=2, c=3, d=4, e=5, f=6)
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_factory_6_factory_kw_injections_1_context(self, providers):
@ -124,7 +124,7 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, f=6)
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
test_factory(a=1, b=2, c=3, d=4, e=5)
def test_factory_6_factory_kw_injections_3_context(self, providers):
@ -134,11 +134,11 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, a=1, b=2, c=3)
for x in xrange(int(5000000 * self.duration_factor)):
for x in range(int(5000000 * self.duration_factor)):
test_factory(d=4, e=5, f=6)
if __name__ == '__main__':
if __name__ == "__main__":
tester = Tester(
provider_modules=[
dependency_injector.providers,

View File

@ -16,7 +16,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Callable(Cat)
animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Callable(Cat.create)
@ -36,17 +36,17 @@ kwargs4: Dict[str, Any] = provider4.kwargs
provider5 = providers.Callable(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
item_getter5: providers.ItemGetter = provider5.provided['item']
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)
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)
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))
@ -54,8 +54,8 @@ 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)
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)
# Test 10: to check the .provides
provider10 = providers.Callable(Cat)

View File

@ -9,12 +9,12 @@ provider1 = providers.Factory(dict, a=config1.a)
# Test 2: to check the from_*() method
config2 = providers.Configuration()
config2.from_dict({})
config2.from_ini('config.ini')
config2.from_ini(Path('config.ini'))
config2.from_ini("config.ini")
config2.from_ini(Path("config.ini"))
config2.from_yaml('config.yml')
config2.from_yaml(Path('config.yml'))
config2.from_env('ENV', 'default')
config2.from_yaml("config.yml")
config2.from_yaml(Path("config.yml"))
config2.from_env("ENV", "default")
# Test 3: to check as_*() methods
config3 = providers.Configuration()

View File

@ -63,4 +63,4 @@ class Container7(containers.DeclarativeContainer):
provider = providers.Factory(str)
container7 = Container7()
container7.override_providers(provider='new_value')
container7.override_providers(provider="new_value")

View File

@ -18,7 +18,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Factory(Cat)
animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Factory(Cat.create)
@ -39,17 +39,17 @@ attributes4: Dict[str, Any] = provider4.attributes
provider5 = providers.Factory(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
item_getter5: providers.ItemGetter = provider5.provided['item']
item_getter5: providers.ItemGetter = provider5.provided["item"]
method_caller5: providers.MethodCaller = provider5.provided.method.call(123, arg=324)
# Test 6: to check the DelegatedFactory
provider6 = providers.DelegatedFactory(Cat)
animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0)
animal6: Animal = provider6(1, 2, 3, b="1", c=2, e=0.0)
# Test 7: to check the AbstractFactory
provider7 = providers.AbstractFactory(Animal)
provider7.override(providers.Factory(Cat))
animal7: Animal = provider7(1, 2, 3, b='1', c=2, e=0.0)
animal7: Animal = provider7(1, 2, 3, b="1", c=2, e=0.0)
# Test 8: to check the FactoryDelegate __init__
provider8 = providers.FactoryDelegate(providers.Factory(object))
@ -61,7 +61,7 @@ provider9: providers.FactoryAggregate[str] = providers.FactoryAggregate(
)
factory_a_9: providers.Factory[str] = provider9.a
factory_b_9: providers.Factory[str] = provider9.b
val9: str = provider9('a')
val9: str = provider9("a")
provider9_set_non_string_keys: providers.FactoryAggregate[str] = providers.FactoryAggregate()
provider9_set_non_string_keys.set_factories({Cat: providers.Factory(str, "str")})
@ -83,8 +83,8 @@ animal10: Animal = factory10()
# Test 11: to check the return type with await
provider11 = providers.Factory(Cat)
async def _async11() -> None:
animal1: Animal = await provider11(1, 2, 3, b='1', c=2, e=0.0) # type: ignore
animal2: Animal = await provider11.async_(1, 2, 3, b='1', c=2, e=0.0)
animal1: Animal = await provider11(1, 2, 3, b="1", c=2, e=0.0) # type: ignore
animal2: Animal = await provider11.async_(1, 2, 3, b="1", c=2, e=0.0)
# Test 12: to check class type from .provides
provider12 = providers.Factory(Cat)

View File

@ -25,7 +25,7 @@ provider3 = providers.List(
)
provided3: providers.ProvidedInstance = provider3.provided
attr_getter3: providers.AttributeGetter = provider3.provided.attr
item_getter3: providers.ItemGetter = provider3.provided['item']
item_getter3: providers.ItemGetter = provider3.provided["item"]
method_caller3: providers.MethodCaller = provider3.provided.method.call(123, arg=324)
# Test 4: to check the return type with await

View File

@ -11,7 +11,7 @@ var1: int = provider1()
provider2 = providers.Object(int)
provided2: providers.ProvidedInstance = provider2.provided
attr_getter2: providers.AttributeGetter = provider2.provided.attr
item_getter2: providers.ItemGetter = provider2.provided['item']
item_getter2: providers.ItemGetter = provider2.provided["item"]
method_caller2: providers.MethodCaller = provider2.provided.method.call(123, arg=324)
# Test 3: to check the return type with await
@ -21,5 +21,5 @@ async def _async3() -> None:
var2: int = await provider3.async_()
# Test 4: to check class type from provider
provider4 = providers.Object(int('1'))
provider4 = providers.Object(int("1"))
provided_provides: Optional[int] = provider4.provides

View File

@ -5,7 +5,7 @@ from dependency_injector import providers
# Test 1: to check the return type
provider1 = providers.Selector(
lambda: 'a',
lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
@ -13,18 +13,18 @@ var1: Any = provider1()
# Test 2: to check the provided instance interface
provider2 = providers.Selector(
lambda: 'a',
lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
provided2: providers.ProvidedInstance = provider2.provided
attr_getter2: providers.AttributeGetter = provider2.provided.attr
item_getter2: providers.ItemGetter = provider2.provided['item']
item_getter2: providers.ItemGetter = provider2.provided["item"]
method_caller2: providers.MethodCaller = provider2.provided.method.call(123, arg=324)
# Test3 to check the getattr
provider3 = providers.Selector(
lambda: 'a',
lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
@ -32,7 +32,7 @@ attr3: providers.Provider = provider3.a
# Test 4: to check the return type with await
provider4 = providers.Selector(
lambda: 'a',
lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)

View File

@ -18,7 +18,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Singleton(Cat)
animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Singleton(Cat.create)
@ -39,12 +39,12 @@ attributes4: Dict[str, Any] = provider4.attributes
provider5 = providers.Singleton(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
item_getter5: providers.ItemGetter = provider5.provided['item']
item_getter5: providers.ItemGetter = provider5.provided["item"]
method_caller5: providers.MethodCaller = provider5.provided.method.call(123, arg=324)
# Test 6: to check the DelegatedSingleton
provider6 = providers.DelegatedSingleton(Cat)
animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0)
animal6: Animal = provider6(1, 2, 3, b="1", c=2, e=0.0)
# Test 7: to check the ThreadSafeSingleton
provider7: providers.BaseSingleton[Animal] = providers.ThreadSafeSingleton(Cat)
@ -52,20 +52,20 @@ animal7: Animal = provider7()
# Test 8: to check the DelegatedThreadSafeSingleton
provider8 = providers.DelegatedThreadSafeSingleton(Cat)
animal8: Animal = provider8(1, 2, 3, b='1', c=2, e=0.0)
animal8: Animal = provider8(1, 2, 3, b="1", c=2, e=0.0)
# Test 9: to check the ThreadLocalSingleton
provider9 = providers.ThreadLocalSingleton(Cat)
animal9: Animal = provider9(1, 2, 3, b='1', c=2, e=0.0)
animal9: Animal = provider9(1, 2, 3, b="1", c=2, e=0.0)
# Test 10: to check the DelegatedThreadLocalSingleton
provider10 = providers.DelegatedThreadLocalSingleton(Cat)
animal10: Animal = provider10(1, 2, 3, b='1', c=2, e=0.0)
animal10: Animal = provider10(1, 2, 3, b="1", c=2, e=0.0)
# Test 11: to check the AbstractSingleton
provider11 = providers.AbstractSingleton(Animal)
provider11.override(providers.Singleton(Cat))
animal11: Animal = provider11(1, 2, 3, b='1', c=2, e=0.0)
animal11: Animal = provider11(1, 2, 3, b="1", c=2, e=0.0)
# Test 12: to check the SingletonDelegate __init__
provider12 = providers.SingletonDelegate(providers.Singleton(object))
@ -73,8 +73,8 @@ provider12 = providers.SingletonDelegate(providers.Singleton(object))
# Test 13: to check the return type with await
provider13 = providers.Singleton(Cat)
async def _async13() -> None:
animal1: Animal = await provider13(1, 2, 3, b='1', c=2, e=0.0) # type: ignore
animal2: Animal = await provider13.async_(1, 2, 3, b='1', c=2, e=0.0)
animal1: Animal = await provider13(1, 2, 3, b="1", c=2, e=0.0) # type: ignore
animal2: Animal = await provider13.async_(1, 2, 3, b="1", c=2, e=0.0)
# Test 14: to check class from .provides
provider14 = providers.Singleton(Cat)

View File

@ -18,12 +18,12 @@ def setup_test_loop(
loop = loop_factory()
try:
module = loop.__class__.__module__
skip_watcher = 'uvloop' in module
skip_watcher = "uvloop" in module
except AttributeError: # pragma: no cover
# Just in case
skip_watcher = True
asyncio.set_event_loop(loop)
if sys.platform != 'win32' and not skip_watcher:
if sys.platform != "win32" and not skip_watcher:
policy = asyncio.get_event_loop_policy()
watcher = asyncio.SafeChildWatcher() # type: ignore
watcher.attach_loop(loop)

View File

@ -52,15 +52,15 @@ class DeclarativeContainerTests(unittest.TestCase):
self.assertEqual(
ContainerA.providers,
{
'p11': ContainerA.p11,
'p12': ContainerA.p12,
"p11": ContainerA.p11,
"p12": ContainerA.p12,
},
)
self.assertEqual(
ContainerA2.providers,
{
'p11': p1,
'p12': p2,
"p11": p1,
"p12": p2,
},
)
@ -95,17 +95,17 @@ class DeclarativeContainerTests(unittest.TestCase):
self.assertEqual(
ContainerD.dependencies,
{
'p41': ContainerD.p41,
'p42': ContainerD.p42,
"p41": ContainerD.p41,
"p42": ContainerD.p42,
},
)
self.assertEqual(
ContainerE.dependencies,
{
'p41': ContainerD.p41,
'p42': ContainerD.p42,
'p51': ContainerE.p51,
'p52': ContainerE.p52,
"p41": ContainerD.p41,
"p42": ContainerD.p42,
"p51": ContainerE.p51,
"p52": ContainerE.p52,
},
)
@ -308,9 +308,9 @@ class DeclarativeContainerTests(unittest.TestCase):
self.assertIsNot(_Container1.p11, _Container2.p11)
self.assertIsNot(_Container1.p12, _Container2.p12)
self.assertEqual(_Container.p12(), {'p11': 0})
self.assertEqual(_Container1.p12(), {'p11': 1})
self.assertEqual(_Container2.p12(), {'p11': 2})
self.assertEqual(_Container.p12(), {"p11": 0})
self.assertEqual(_Container1.p12(), {"p11": 1})
self.assertEqual(_Container2.p12(), {"p11": 2})
self.assertEqual(_Container1.p13(), 11)
self.assertEqual(_Container2.p13(), 22)
@ -329,9 +329,9 @@ class DeclarativeContainerTests(unittest.TestCase):
new2 = New(p11=1)
new3 = New(p11=2)
self.assertEqual(new1.p13(), {'p12': {'p11': 0}})
self.assertEqual(new2.p13(), {'p12': {'p11': 1}})
self.assertEqual(new3.p13(), {'p12': {'p11': 2}})
self.assertEqual(new1.p13(), {"p12": {"p11": 0}})
self.assertEqual(new2.p13(), {"p12": {"p11": 1}})
self.assertEqual(new3.p13(), {"p12": {"p11": 2}})
def test_copy_with_replacing_subcontainer_providers(self):
# See: https://github.com/ets-labs/python-dependency-injector/issues/374
@ -339,7 +339,7 @@ class DeclarativeContainerTests(unittest.TestCase):
foo = providers.Dependency(instance_of=str)
def build_x():
return X(foo='1')
return X(foo="1")
class A(containers.DeclarativeContainer):
x = providers.DependenciesContainer(**X.providers)
@ -351,7 +351,7 @@ class DeclarativeContainerTests(unittest.TestCase):
b1 = B1()
self.assertEqual(b1.y(), '1')
self.assertEqual(b1.y(), "1")
def test_containers_attribute(self):
class Container(containers.DeclarativeContainer):
@ -388,17 +388,17 @@ class DeclarativeContainerTests(unittest.TestCase):
container = _Container(p1=1)
self.assertEqual(container.p2(), {'p1': 1})
self.assertEqual(container.p2(), {"p1": 1})
self.assertIs(
container.p2.last_overriding.kwargs['p1'],
container.p2.last_overriding.kwargs["p1"],
container.p1,
)
self.assertIsNot(
container.p2.last_overriding.kwargs['p1'],
container.p2.last_overriding.kwargs["p1"],
_Container.p1,
)
self.assertIs(
_Container.p2.last_overriding.kwargs['p1'],
_Container.p2.last_overriding.kwargs["p1"],
_Container.p1,
)
@ -419,9 +419,9 @@ class DeclarativeContainerTests(unittest.TestCase):
def test_init_with_dependency_delegation(self):
# Bug:
# https://github.com/ets-labs/python-dependency-injector/issues/235
A = collections.namedtuple('A', [])
B = collections.namedtuple('B', ['fa'])
C = collections.namedtuple('B', ['a'])
A = collections.namedtuple("A", [])
B = collections.namedtuple("B", ["fa"])
C = collections.namedtuple("B", ["a"])
class Services(containers.DeclarativeContainer):
a = providers.Dependency()
@ -469,7 +469,7 @@ class DeclarativeContainerTests(unittest.TestCase):
self.assertIs(Container.container.parent, Container)
def test_resolve_provider_name(self):
self.assertEqual(ContainerA.resolve_provider_name(ContainerA.p11), 'p11')
self.assertEqual(ContainerA.resolve_provider_name(ContainerA.p11), "p11")
def test_resolve_provider_name_no_provider(self):
with self.assertRaises(errors.Error):
@ -483,7 +483,7 @@ class DeclarativeContainerTests(unittest.TestCase):
Container.dependency()
self.assertEqual(
str(context.exception),
'Dependency "Container.dependency" is not defined',
"Dependency \"Container.dependency\" is not defined",
)
def test_child_dependencies_container_parent_name(self):
@ -494,7 +494,7 @@ class DeclarativeContainerTests(unittest.TestCase):
Container.dependencies_container.dependency()
self.assertEqual(
str(context.exception),
'Dependency "Container.dependencies_container.dependency" is not defined',
"Dependency \"Container.dependencies_container.dependency\" is not defined",
)
def test_child_container_parent_name(self):
@ -508,7 +508,7 @@ class DeclarativeContainerTests(unittest.TestCase):
Container.child_container.dependency()
self.assertEqual(
str(context.exception),
'Dependency "Container.child_container.dependency" is not defined',
"Dependency \"Container.child_container.dependency\" is not defined",
)
@ -529,11 +529,11 @@ class DeclarativeContainerWithCustomStringTests(unittest.TestCase):
self.provider = providers.Provider()
def test_setattr(self):
setattr(self.container, self.CustomString('test_attr'), self.provider)
setattr(self.container, self.CustomString("test_attr"), self.provider)
self.assertIs(self.container.test_attr, self.provider)
def test_delattr(self):
setattr(self.container, self.CustomString('test_attr'), self.provider)
delattr(self.container, self.CustomString('test_attr'))
setattr(self.container, self.CustomString("test_attr"), self.provider)
delattr(self.container, self.CustomString("test_attr"))
with self.assertRaises(AttributeError):
self.container.test_attr

View File

@ -6,7 +6,7 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
import sys
@ -46,18 +46,18 @@ class AsyncResourcesTest(AsyncTestCase):
class Container(containers.DeclarativeContainer):
resource1 = providers.Resource(
_resource,
name='r1',
name="r1",
delay=0.03,
)
resource2 = providers.Resource(
_resource,
name='r2',
name="r2",
delay=0.02,
r1=resource1,
)
resource3 = providers.Resource(
_resource,
name='r3',
name="r3",
delay=0.01,
r2=resource2,
)
@ -65,20 +65,20 @@ class AsyncResourcesTest(AsyncTestCase):
container = Container()
self._run(container.init_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, [])
self._run(container.shutdown_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
self._run(container.init_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
self._run(container.shutdown_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1", "r3", "r2", "r1"])
def test_shutdown_circular_dependencies_breaker(self):
async def _resource(name, **_):
@ -87,16 +87,16 @@ class AsyncResourcesTest(AsyncTestCase):
class Container(containers.DeclarativeContainer):
resource1 = providers.Resource(
_resource,
name='r1',
name="r1",
)
resource2 = providers.Resource(
_resource,
name='r2',
name="r2",
r1=resource1,
)
resource3 = providers.Resource(
_resource,
name='r3',
name="r3",
r2=resource2,
)
@ -108,7 +108,7 @@ class AsyncResourcesTest(AsyncTestCase):
with self.assertRaises(RuntimeError) as context:
self._run(container.shutdown_resources())
self.assertEqual(str(context.exception), 'Unable to resolve resources shutdown order')
self.assertEqual(str(context.exception), "Unable to resolve resources shutdown order")
def test_shutdown_sync_and_async_ordering(self):
initialized_resources = []
@ -127,33 +127,33 @@ class AsyncResourcesTest(AsyncTestCase):
class Container(containers.DeclarativeContainer):
resource1 = providers.Resource(
_sync_resource,
name='r1',
name="r1",
)
resource2 = providers.Resource(
_sync_resource,
name='r2',
name="r2",
r1=resource1,
)
resource3 = providers.Resource(
_async_resource,
name='r3',
name="r3",
r2=resource2,
)
container = Container()
self._run(container.init_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, [])
self._run(container.shutdown_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
self._run(container.init_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
self._run(container.shutdown_resources())
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1", "r3", "r2", "r1"])

View File

@ -28,7 +28,7 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
container = ContainerA()
container.a1 = providers.Dependency()
container.a2 = providers.DependenciesContainer()
self.assertEqual(container.dependencies, {'a1': container.a1, 'a2': container.a2})
self.assertEqual(container.dependencies, {"a1": container.a1, "a2": container.a2})
def test_set_get_del_providers(self):
p13 = providers.Provider()
@ -212,36 +212,36 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
class Container(containers.DeclarativeContainer):
resource1 = providers.Resource(
_resource,
name='r1',
name="r1",
)
resource2 = providers.Resource(
_resource,
name='r2',
name="r2",
r1=resource1,
)
resource3 = providers.Resource(
_resource,
name='r3',
name="r3",
r2=resource2,
)
container = Container()
container.init_resources()
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, [])
container.shutdown_resources()
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
container.init_resources()
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1"])
container.shutdown_resources()
self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
self.assertEqual(initialized_resources, ["r1", "r2", "r3", "r1", "r2", "r3"])
self.assertEqual(shutdown_resources, ["r3", "r2", "r1", "r3", "r2", "r1"])
def test_shutdown_resources_circular_dependencies_breaker(self):
def _resource(name, **_):
@ -250,16 +250,16 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
class Container(containers.DeclarativeContainer):
resource1 = providers.Resource(
_resource,
name='r1',
name="r1",
)
resource2 = providers.Resource(
_resource,
name='r2',
name="r2",
r1=resource1,
)
resource3 = providers.Resource(
_resource,
name='r3',
name="r3",
r2=resource2,
)
@ -271,7 +271,7 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
with self.assertRaises(RuntimeError) as context:
container.shutdown_resources()
self.assertEqual(str(context.exception), 'Unable to resolve resources shutdown order')
self.assertEqual(str(context.exception), "Unable to resolve resources shutdown order")
def test_init_shutdown_nested_resources(self):
def _init1():
@ -416,16 +416,16 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
with self.assertRaises(errors.Error) as context:
container.check_dependencies()
self.assertIn('Container "Container" has undefined dependencies:', str(context.exception))
self.assertIn('"Container.dependency"', str(context.exception))
self.assertIn('"Container.dependencies_container.dependency"', str(context.exception))
self.assertIn('"Container.sub_container.dependency"', str(context.exception))
self.assertIn("Container \"Container\" has undefined dependencies:", str(context.exception))
self.assertIn("\"Container.dependency\"", str(context.exception))
self.assertIn("\"Container.dependencies_container.dependency\"", str(context.exception))
self.assertIn("\"Container.sub_container.dependency\"", str(context.exception))
def test_check_dependencies_all_defined(self):
class Container(containers.DeclarativeContainer):
dependency = providers.Dependency()
container = Container(dependency='provided')
container = Container(dependency="provided")
result = container.check_dependencies()
self.assertIsNone(result)
@ -440,11 +440,11 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
def test_parent_name_declarative_parent(self):
container = ContainerA()
self.assertEqual(container.parent_name, 'ContainerA')
self.assertEqual(container.parent_name, "ContainerA")
def test_parent_name(self):
container = ContainerA()
self.assertEqual(container.parent_name, 'ContainerA')
self.assertEqual(container.parent_name, "ContainerA")
def test_parent_name_with_deep_parenting(self):
class Container2(containers.DeclarativeContainer):
@ -456,7 +456,7 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
container = providers.Container(Container2)
container = Container1()
self.assertEqual(container.container().name.parent_name, 'Container1.container.name')
self.assertEqual(container.container().name.parent_name, "Container1.container.name")
def test_parent_name_is_none(self):
container = containers.DynamicContainer()
@ -479,7 +479,7 @@ class DeclarativeContainerInstanceTests(unittest.TestCase):
def test_resolve_provider_name(self):
container = ContainerA()
self.assertEqual(container.resolve_provider_name(container.p11), 'p11')
self.assertEqual(container.resolve_provider_name(container.p11), "p11")
def test_resolve_provider_name_no_provider(self):
container = ContainerA()
@ -496,11 +496,11 @@ class SelfTests(unittest.TestCase):
class Container(containers.DeclarativeContainer):
__self__ = providers.Self()
foo = providers.Callable(call_bar, __self__)
bar = providers.Object('hello')
bar = providers.Object("hello")
container = Container()
self.assertIs(container.foo(), 'hello')
self.assertIs(container.foo(), "hello")
def test_self_attribute_implicit(self):
class Container(containers.DeclarativeContainer):
@ -531,7 +531,7 @@ class SelfTests(unittest.TestCase):
container = Container()
self.assertIs(container.__self__, container.foo)
self.assertEqual(set(container.__self__.alt_names), {'foo'})
self.assertEqual(set(container.__self__.alt_names), {"foo"})
def test_self_attribute_alt_name_explicit_1(self):
class Container(containers.DeclarativeContainer):
@ -543,7 +543,7 @@ class SelfTests(unittest.TestCase):
self.assertIs(container.__self__, container.foo)
self.assertIs(container.__self__, container.bar)
self.assertEqual(set(container.__self__.alt_names), {'foo', 'bar'})
self.assertEqual(set(container.__self__.alt_names), {"foo", "bar"})
def test_self_attribute_alt_name_explicit_2(self):
class Container(containers.DeclarativeContainer):
@ -554,7 +554,7 @@ class SelfTests(unittest.TestCase):
self.assertIs(container.__self__, container.foo)
self.assertIs(container.__self__, container.bar)
self.assertEqual(set(container.__self__.alt_names), {'foo', 'bar'})
self.assertEqual(set(container.__self__.alt_names), {"foo", "bar"})
def test_providers_attribute_1(self):
class Container(containers.DeclarativeContainer):
@ -595,14 +595,14 @@ class SelfTests(unittest.TestCase):
class Container(containers.DeclarativeContainer):
__self__ = providers.Self()
foo = providers.Callable(call_bar, __self__)
bar = providers.Object('hello')
bar = providers.Object("hello")
container1 = Container()
container2 = providers.deepcopy(container1)
container1.bar.override('bye')
container1.bar.override("bye")
self.assertIs(container1.foo(), 'bye')
self.assertIs(container2.foo(), 'hello')
self.assertIs(container1.foo(), "bye")
self.assertIs(container2.foo(), "hello")
def test_deepcopy_alt_names_1(self):
class Container(containers.DeclarativeContainer):
@ -646,7 +646,7 @@ class SelfTests(unittest.TestCase):
class SubContainer(containers.DeclarativeContainer):
__self__ = providers.Self()
foo = providers.Callable(call_bar, __self__)
bar = providers.Object('hello')
bar = providers.Object("hello")
class Container(containers.DeclarativeContainer):
sub_container = providers.Container(SubContainer)
@ -655,7 +655,7 @@ class SelfTests(unittest.TestCase):
container = Container()
self.assertIs(container.baz(), 'hello')
self.assertIs(container.baz(), "hello")
def test_with_container_provider_overriding(self):
def call_bar(container):
@ -664,16 +664,16 @@ class SelfTests(unittest.TestCase):
class SubContainer(containers.DeclarativeContainer):
__self__ = providers.Self()
foo = providers.Callable(call_bar, __self__)
bar = providers.Object('hello')
bar = providers.Object("hello")
class Container(containers.DeclarativeContainer):
sub_container = providers.Container(SubContainer, bar='bye')
sub_container = providers.Container(SubContainer, bar="bye")
baz = providers.Callable(lambda value: value, sub_container.foo)
container = Container()
self.assertIs(container.baz(), 'bye')
self.assertIs(container.baz(), "bye")
def test_with_container_provider_self(self):
class SubContainer(containers.DeclarativeContainer):
@ -702,19 +702,19 @@ class DynamicContainerWithCustomStringTests(unittest.TestCase):
self.provider = providers.Provider()
def test_setattr(self):
setattr(self.container, self.CustomString('test_attr'), self.provider)
setattr(self.container, self.CustomString("test_attr"), self.provider)
self.assertIs(self.container.test_attr, self.provider)
def test_delattr(self):
setattr(self.container, self.CustomString('test_attr'), self.provider)
delattr(self.container, self.CustomString('test_attr'))
setattr(self.container, self.CustomString("test_attr"), self.provider)
delattr(self.container, self.CustomString("test_attr"))
with self.assertRaises(AttributeError):
self.container.test_attr
def test_set_provider(self):
self.container.set_provider(self.CustomString('test_attr'), self.provider)
self.container.set_provider(self.CustomString("test_attr"), self.provider)
self.assertIs(self.container.test_attr, self.provider)
def test_set_providers(self):
self.container.set_providers(**{self.CustomString('test_attr'): self.provider})
self.container.set_providers(**{self.CustomString("test_attr"): self.provider})
self.assertIs(self.container.test_attr, self.provider)

View File

@ -11,11 +11,11 @@ class TraverseProviderTests(unittest.TestCase):
dict,
foo=providers.Resource(
dict,
foo='bar'
foo="bar"
),
bar=providers.Resource(
dict,
foo='bar'
foo="bar"
)
)
@ -23,8 +23,8 @@ class TraverseProviderTests(unittest.TestCase):
all_providers = list(container.traverse())
self.assertIn(container.obj_factory, all_providers)
self.assertIn(container.obj_factory.kwargs['foo'], all_providers)
self.assertIn(container.obj_factory.kwargs['bar'], all_providers)
self.assertIn(container.obj_factory.kwargs["foo"], all_providers)
self.assertIn(container.obj_factory.kwargs["bar"], all_providers)
self.assertEqual(len(all_providers), 3)
def test_nested_providers_with_filtering(self):
@ -33,19 +33,19 @@ class TraverseProviderTests(unittest.TestCase):
dict,
foo=providers.Resource(
dict,
foo='bar'
foo="bar"
),
bar=providers.Resource(
dict,
foo='bar'
foo="bar"
)
)
container = Container()
all_providers = list(container.traverse(types=[providers.Resource]))
self.assertIn(container.obj_factory.kwargs['foo'], all_providers)
self.assertIn(container.obj_factory.kwargs['bar'], all_providers)
self.assertIn(container.obj_factory.kwargs["foo"], all_providers)
self.assertIn(container.obj_factory.kwargs["bar"], all_providers)
self.assertEqual(len(all_providers), 2)
@ -57,19 +57,19 @@ class TraverseProviderDeclarativeTests(unittest.TestCase):
dict,
foo=providers.Resource(
dict,
foo='bar'
foo="bar"
),
bar=providers.Resource(
dict,
foo='bar'
foo="bar"
)
)
all_providers = list(Container.traverse())
self.assertIn(Container.obj_factory, all_providers)
self.assertIn(Container.obj_factory.kwargs['foo'], all_providers)
self.assertIn(Container.obj_factory.kwargs['bar'], all_providers)
self.assertIn(Container.obj_factory.kwargs["foo"], all_providers)
self.assertIn(Container.obj_factory.kwargs["bar"], all_providers)
self.assertEqual(len(all_providers), 3)
def test_nested_providers_with_filtering(self):
@ -78,16 +78,16 @@ class TraverseProviderDeclarativeTests(unittest.TestCase):
dict,
foo=providers.Resource(
dict,
foo='bar'
foo="bar"
),
bar=providers.Resource(
dict,
foo='bar'
foo="bar"
)
)
all_providers = list(Container.traverse(types=[providers.Resource]))
self.assertIn(Container.obj_factory.kwargs['foo'], all_providers)
self.assertIn(Container.obj_factory.kwargs['bar'], all_providers)
self.assertIn(Container.obj_factory.kwargs["foo"], all_providers)
self.assertIn(Container.obj_factory.kwargs["bar"], all_providers)
self.assertEqual(len(all_providers), 2)

View File

@ -8,22 +8,22 @@ from dependency_injector.ext import aiohttp
async def index(_):
return web.Response(text='Hello World!')
return web.Response(text="Hello World!")
async def test(_):
return web.Response(text='Test!')
return web.Response(text="Test!")
class Test(web.View):
async def get(self):
return web.Response(text='Test class-based!')
return web.Response(text="Test class-based!")
@web.middleware
async def middleware(request, handler):
resp = await handler(request)
resp.text = resp.text + ' wink1'
resp.text = resp.text + " wink1"
return resp
@ -42,7 +42,7 @@ class ApplicationContainer(containers.DeclarativeContainer):
web.Application,
middlewares=providers.List(
aiohttp.Middleware(middleware),
aiohttp.MiddlewareFactory(middleware_factory, text=' wink2'),
aiohttp.MiddlewareFactory(middleware_factory, text=" wink2"),
),
)
@ -61,33 +61,33 @@ class ApplicationTests(AioHTTPTestCase):
app = container.app()
app.container = container
app.add_routes([
web.get('/', container.index_view.as_view()),
web.get('/test', container.test_view.as_view(), name='test'),
web.get('/test-class', container.test_class_view.as_view()),
web.get("/", container.index_view.as_view()),
web.get("/test", container.test_view.as_view(), name="test"),
web.get("/test-class", container.test_class_view.as_view()),
])
return app
@unittest_run_loop
async def test_index(self):
response = await self.client.get('/')
response = await self.client.get("/")
self.assertEqual(response.status, 200)
self.assertEqual(await response.text(), 'Hello World! wink2 wink1')
self.assertEqual(await response.text(), "Hello World! wink2 wink1")
@unittest_run_loop
async def test_test(self):
response = await self.client.get('/test')
response = await self.client.get("/test")
self.assertEqual(response.status, 200)
self.assertEqual(await response.text(), 'Test! wink2 wink1')
self.assertEqual(await response.text(), "Test! wink2 wink1")
@unittest_run_loop
async def test_test_class_based(self):
response = await self.client.get('/test-class')
response = await self.client.get("/test-class")
self.assertEqual(response.status, 200)
self.assertEqual(await response.text(), 'Test class-based! wink2 wink1')
self.assertEqual(await response.text(), "Test class-based! wink2 wink1")
@unittest_run_loop
async def test_endpoints(self):
self.assertEqual(str(self.app.router['test'].url_for()), '/test')
self.assertEqual(str(self.app.router["test"].url_for()), "/test")

View File

@ -9,16 +9,16 @@ from dependency_injector.ext import flask
def index():
return 'Hello World!'
return "Hello World!"
def test():
return 'Test!'
return "Test!"
class Test(MethodView):
def get(self):
return 'Test class-based!'
return "Test class-based!"
class ApplicationContainer(containers.DeclarativeContainer):
@ -34,9 +34,9 @@ def create_app():
container = ApplicationContainer()
app = container.app()
app.container = container
app.add_url_rule('/', view_func=container.index_view.as_view())
app.add_url_rule('/test', 'test-test', view_func=container.test_view.as_view())
app.add_url_rule('/test-class', view_func=container.test_class_view.as_view('test-class'))
app.add_url_rule("/", view_func=container.index_view.as_view())
app.add_url_rule("/test", "test-test", view_func=container.test_view.as_view())
app.add_url_rule("/test-class", view_func=container.test_class_view.as_view("test-class"))
return app
@ -44,7 +44,7 @@ class ApplicationTests(unittest.TestCase):
def setUp(self):
self.app = create_app()
self.app.config['SERVER_NAME'] = 'test-server.com'
self.app.config["SERVER_NAME"] = "test-server.com"
self.client = self.app.test_client()
self.client.__enter__()
@ -52,25 +52,25 @@ class ApplicationTests(unittest.TestCase):
self.client.__exit__(None, None, None)
def test_index(self):
response = self.client.get('/')
response = self.client.get("/")
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data, b'Hello World!')
self.assertEqual(response.data, b"Hello World!")
def test_test(self):
response = self.client.get('/test')
response = self.client.get("/test")
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data, b'Test!')
self.assertEqual(response.data, b"Test!")
def test_test_class_based(self):
response = self.client.get('/test-class')
response = self.client.get("/test-class")
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data, b'Test class-based!')
self.assertEqual(response.data, b"Test class-based!")
def test_endpoints(self):
with self.app.app_context():
self.assertEqual(url_for('index'), 'http://test-server.com/')
self.assertEqual(url_for('test-test'), 'http://test-server.com/test')
self.assertEqual(url_for('test-class'), 'http://test-server.com/test-class')
self.assertEqual(url_for("index"), "http://test-server.com/")
self.assertEqual(url_for("test-test"), "http://test-server.com/test")
self.assertEqual(url_for("test-class"), "http://test-server.com/test-class")

View File

@ -80,48 +80,48 @@ class _BaseSingletonTestCase(object):
self.assertIsInstance(instance2, Example)
def test_call_with_init_positional_args(self):
provider = self.singleton_cls(Example, 'i1', 'i2')
provider = self.singleton_cls(Example, "i1", "i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIs(instance1, instance2)
self.assertIsInstance(instance1, Example)
self.assertIsInstance(instance2, Example)
def test_call_with_init_keyword_args(self):
provider = self.singleton_cls(Example, init_arg1='i1', init_arg2='i2')
provider = self.singleton_cls(Example, init_arg1="i1", init_arg2="i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIs(instance1, instance2)
self.assertIsInstance(instance1, Example)
self.assertIsInstance(instance2, Example)
def test_call_with_init_positional_and_keyword_args(self):
provider = self.singleton_cls(Example, 'i1', init_arg2='i2')
provider = self.singleton_cls(Example, "i1", init_arg2="i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIs(instance1, instance2)
self.assertIsInstance(instance1, Example)
@ -129,16 +129,16 @@ class _BaseSingletonTestCase(object):
def test_call_with_attributes(self):
provider = self.singleton_cls(Example)
provider.add_attributes(attribute1='a1', attribute2='a2')
provider.add_attributes(attribute1="a1", attribute2="a2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.attribute1, 'a1')
self.assertEqual(instance1.attribute2, 'a2')
self.assertEqual(instance1.attribute1, "a1")
self.assertEqual(instance1.attribute2, "a2")
self.assertEqual(instance2.attribute1, 'a1')
self.assertEqual(instance2.attribute2, 'a2')
self.assertEqual(instance2.attribute1, "a1")
self.assertEqual(instance2.attribute2, "a2")
self.assertIs(instance1, instance2)
self.assertIsInstance(instance1, Example)
@ -285,8 +285,8 @@ class _BaseSingletonTestCase(object):
provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['a1']
dependent_provider_copy2 = provider_copy.kwargs['a2']
dependent_provider_copy1 = provider_copy.kwargs["a1"]
dependent_provider_copy2 = provider_copy.kwargs["a2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -304,8 +304,8 @@ class _BaseSingletonTestCase(object):
provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.attributes['a1']
dependent_provider_copy2 = provider_copy.attributes['a2']
dependent_provider_copy1 = provider_copy.attributes["a1"]
dependent_provider_copy2 = provider_copy.attributes["a2"]
self.assertNotEqual(provider.attributes, provider_copy.attributes)
@ -342,8 +342,8 @@ class _BaseSingletonTestCase(object):
self.assertIsNot(provider, provider_copy)
self.assertIsInstance(provider_copy, providers.Singleton)
self.assertIs(provider.args[0], sys.stdin)
self.assertIs(provider.kwargs['a2'], sys.stdout)
self.assertIs(provider.attributes['a3'], sys.stderr)
self.assertIs(provider.kwargs["a2"], sys.stdout)
self.assertIs(provider.attributes["a3"], sys.stderr)
def test_reset(self):
provider = self.singleton_cls(object)
@ -364,12 +364,12 @@ class _BaseSingletonTestCase(object):
dependent_instance = dependent_singleton()
instance1 = provider()
self.assertIs(instance1['dependency'], dependent_instance)
self.assertIs(instance1["dependency"], dependent_instance)
provider.reset()
instance2 = provider()
self.assertIs(instance1['dependency'], dependent_instance)
self.assertIs(instance1["dependency"], dependent_instance)
self.assertIsNot(instance1, instance2)
@ -396,13 +396,13 @@ class _BaseSingletonTestCase(object):
dependent_instance1 = dependent_singleton()
instance1 = provider()
self.assertIs(instance1['dependency'], dependent_instance1)
self.assertIs(instance1["dependency"], dependent_instance1)
provider.full_reset()
dependent_instance2 = dependent_singleton()
instance2 = provider()
self.assertIsNot(instance2['dependency'], dependent_instance1)
self.assertIsNot(instance2["dependency"], dependent_instance1)
self.assertIsNot(dependent_instance1, dependent_instance2)
self.assertIsNot(instance1, instance2)

View File

@ -9,7 +9,7 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
import sys
@ -192,7 +192,7 @@ class FactoryTests(AsyncTestCase):
def test_injection_error(self):
async def init_resource():
raise Exception('Something went wrong')
raise Exception("Something went wrong")
class Container(containers.DeclarativeContainer):
resource_with_error = providers.Resource(init_resource)
@ -207,11 +207,11 @@ class FactoryTests(AsyncTestCase):
with self.assertRaises(Exception) as context:
self._run(container.client())
self.assertEqual(str(context.exception), 'Something went wrong')
self.assertEqual(str(context.exception), "Something went wrong")
def test_injection_runtime_error_async_provides(self):
async def create_client(*args, **kwargs):
raise Exception('Something went wrong')
raise Exception("Something went wrong")
class Container(containers.DeclarativeContainer):
resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
@ -226,7 +226,7 @@ class FactoryTests(AsyncTestCase):
with self.assertRaises(Exception) as context:
self._run(container.client())
self.assertEqual(str(context.exception), 'Something went wrong')
self.assertEqual(str(context.exception), "Something went wrong")
def test_injection_call_error_async_provides(self):
async def create_client(): # <-- no args defined
@ -302,7 +302,7 @@ class FactoryTests(AsyncTestCase):
@attribute_set_error.setter
def attribute_set_error(self, value):
raise Exception('Something went wrong')
raise Exception("Something went wrong")
class Container(containers.DeclarativeContainer):
resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
@ -318,11 +318,11 @@ class FactoryTests(AsyncTestCase):
with self.assertRaises(Exception) as context:
self._run(container.client())
self.assertEqual(str(context.exception), 'Something went wrong')
self.assertEqual(str(context.exception), "Something went wrong")
def test_attributes_injection_runtime_error(self):
async def init_resource():
raise Exception('Something went wrong')
raise Exception("Something went wrong")
class Container(containers.DeclarativeContainer):
resource = providers.Resource(init_resource)
@ -339,7 +339,7 @@ class FactoryTests(AsyncTestCase):
with self.assertRaises(Exception) as context:
self._run(container.client())
self.assertEqual(str(context.exception), 'Something went wrong')
self.assertEqual(str(context.exception), "Something went wrong")
def test_async_instance_and_sync_attributes_injection(self):
class ContainerWithAttributes(containers.DeclarativeContainer):
@ -406,11 +406,11 @@ class FactoryAggregateTests(AsyncTestCase):
self.assertTrue(provider.is_async_mode_undefined())
created_object1 = self._run(provider('object1'))
created_object1 = self._run(provider("object1"))
self.assertIs(created_object1, object1)
self.assertTrue(provider.is_async_mode_enabled())
created_object2 = self._run(provider('object2'))
created_object2 = self._run(provider("object2"))
self.assertIs(created_object2, object2)
@ -696,7 +696,7 @@ class ProvidedInstanceTests(AsyncTestCase):
class TestContainer(containers.DeclarativeContainer):
resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
client = providers.Factory(TestClient, resource=resource)
service = providers.Factory(TestService, resource=client.provided['resource'])
service = providers.Factory(TestService, resource=client.provided["resource"])
container = TestContainer()
@ -721,7 +721,7 @@ class ProvidedInstanceTests(AsyncTestCase):
container = TestContainer()
with self.assertRaises(RuntimeError):
self._run(container.client.provided['item']())
self._run(container.client.provided["item"]())
def test_provided_item_undefined_item(self):
class TestContainer(containers.DeclarativeContainer):
@ -731,7 +731,7 @@ class ProvidedInstanceTests(AsyncTestCase):
container = TestContainer()
with self.assertRaises(KeyError):
self._run(container.client.provided['item']())
self._run(container.client.provided["item"]())
def test_provided_method_call(self):
class TestClient:
@ -878,15 +878,15 @@ class ListTests(AsyncTestCase):
class Container(containers.DeclarativeContainer):
resources = providers.List(
providers.Resource(create_resource, 'foo'),
providers.Resource(create_resource, 'bar')
providers.Resource(create_resource, "foo"),
providers.Resource(create_resource, "bar")
)
container = Container()
resources = self._run(container.resources())
self.assertEqual(resources[0], 'foo')
self.assertEqual(resources[1], 'bar')
self.assertEqual(resources[0], "foo")
self.assertEqual(resources[1], "bar")
class DictTests(AsyncTestCase):
@ -898,15 +898,15 @@ class DictTests(AsyncTestCase):
class Container(containers.DeclarativeContainer):
resources = providers.Dict(
foo=providers.Resource(create_resource, 'foo'),
bar=providers.Resource(create_resource, 'bar')
foo=providers.Resource(create_resource, "foo"),
bar=providers.Resource(create_resource, "bar")
)
container = Container()
resources = self._run(container.resources())
self.assertEqual(resources['foo'], 'foo')
self.assertEqual(resources['bar'], 'bar')
self.assertEqual(resources["foo"], "foo")
self.assertEqual(resources["bar"], "bar")
class OverrideTests(AsyncTestCase):
@ -1097,10 +1097,10 @@ class AsyncProvidersWithAsyncDependenciesTests(AsyncTestCase):
def test_injections(self):
# See: https://github.com/ets-labs/python-dependency-injector/issues/368
async def async_db_provider():
return {'db': 'ok'}
return {"db": "ok"}
async def async_service(db=None):
return {'service': 'ok', 'db': db}
return {"service": "ok", "db": db}
class Container(containers.DeclarativeContainer):
@ -1110,7 +1110,7 @@ class AsyncProvidersWithAsyncDependenciesTests(AsyncTestCase):
container = Container()
service = self._run(container.service())
self.assertEqual(service, {'service': 'ok', 'db': {'db': 'ok'}})
self.assertEqual(service, {"service": "ok", "db": {"db": "ok"}})
class AsyncProviderWithAwaitableObjectTests(AsyncTestCase):
@ -1118,7 +1118,7 @@ class AsyncProviderWithAwaitableObjectTests(AsyncTestCase):
def test(self):
class SomeResource:
def __await__(self):
raise RuntimeError('Should never happen')
raise RuntimeError("Should never happen")
async def init_resource():
pool = SomeResource()
@ -1148,7 +1148,7 @@ class AsyncProviderWithAwaitableObjectTests(AsyncTestCase):
def test_without_init_resources(self):
class SomeResource:
def __await__(self):
raise RuntimeError('Should never happen')
raise RuntimeError("Should never happen")
async def init_resource():
pool = SomeResource()

View File

@ -23,7 +23,7 @@ class ProviderTests(unittest.TestCase):
def test_delegate(self):
with warnings.catch_warnings():
warnings.simplefilter('ignore')
warnings.simplefilter("ignore")
delegate1 = self.provider.delegate()
delegate2 = self.provider.delegate()
@ -143,8 +143,8 @@ class ProviderTests(unittest.TestCase):
def test_repr(self):
self.assertEqual(repr(self.provider),
'<dependency_injector.providers.'
'Provider() at {0}>'.format(hex(id(self.provider))))
"<dependency_injector.providers."
"Provider() at {0}>".format(hex(id(self.provider))))
class ObjectProviderTests(unittest.TestCase):
@ -225,8 +225,8 @@ class ObjectProviderTests(unittest.TestCase):
some_object = object()
provider = providers.Object(some_object)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Object({0}) at {1}>'.format(
"<dependency_injector.providers."
"Object({0}) at {1}>".format(
repr(some_object),
hex(id(provider))))
@ -248,8 +248,8 @@ class SelfProviderTests(unittest.TestCase):
def test_set_alt_names(self):
provider = providers.Self()
provider.set_alt_names({'foo', 'bar', 'baz'})
self.assertEqual(set(provider.alt_names), {'foo', 'bar', 'baz'})
provider.set_alt_names({"foo", "bar", "baz"})
self.assertEqual(set(provider.alt_names), {"foo", "bar", "baz"})
def test_deepcopy(self):
provider = providers.Self()
@ -287,8 +287,8 @@ class SelfProviderTests(unittest.TestCase):
container = containers.DeclarativeContainer()
provider = providers.Self(container)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Self({0}) at {1}>'.format(
"<dependency_injector.providers."
"Self({0}) at {1}>".format(
repr(container),
hex(id(provider))))
@ -324,8 +324,8 @@ class DelegateTests(unittest.TestCase):
def test_repr(self):
self.assertEqual(repr(self.delegate),
'<dependency_injector.providers.'
'Delegate({0}) at {1}>'.format(
"<dependency_injector.providers."
"Delegate({0}) at {1}>".format(
repr(self.delegated),
hex(id(self.delegate))))
@ -375,22 +375,22 @@ class DependencyTests(unittest.TestCase):
self.assertIsInstance(self.provider.provided, providers.ProvidedInstance)
def test_default(self):
provider = providers.Dependency(instance_of=dict, default={'foo': 'bar'})
self.assertEqual(provider(), {'foo': 'bar'})
provider = providers.Dependency(instance_of=dict, default={"foo": "bar"})
self.assertEqual(provider(), {"foo": "bar"})
def test_default_attribute(self):
provider = providers.Dependency(instance_of=dict, default={'foo': 'bar'})
self.assertEqual(provider.default(), {'foo': 'bar'})
provider = providers.Dependency(instance_of=dict, default={"foo": "bar"})
self.assertEqual(provider.default(), {"foo": "bar"})
def test_default_provider(self):
provider = providers.Dependency(instance_of=dict, default=providers.Factory(dict, foo='bar'))
self.assertEqual(provider.default(), {'foo': 'bar'})
provider = providers.Dependency(instance_of=dict, default=providers.Factory(dict, foo="bar"))
self.assertEqual(provider.default(), {"foo": "bar"})
def test_default_attribute_provider(self):
default = providers.Factory(dict, foo='bar')
default = providers.Factory(dict, foo="bar")
provider = providers.Dependency(instance_of=dict, default=default)
self.assertEqual(provider.default(), {'foo': 'bar'})
self.assertEqual(provider.default(), {"foo": "bar"})
self.assertIs(provider.default, default)
def test_is_defined(self):
@ -399,11 +399,11 @@ class DependencyTests(unittest.TestCase):
def test_is_defined_when_overridden(self):
provider = providers.Dependency()
provider.override('value')
provider.override("value")
self.assertTrue(provider.is_defined)
def test_is_defined_with_default(self):
provider = providers.Dependency(default='value')
provider = providers.Dependency(default="value")
self.assertTrue(provider.is_defined)
def test_call_overridden(self):
@ -417,7 +417,7 @@ class DependencyTests(unittest.TestCase):
def test_call_undefined(self):
with self.assertRaises(errors.Error) as context:
self.provider()
self.assertEqual(str(context.exception), 'Dependency is not defined')
self.assertEqual(str(context.exception), "Dependency is not defined")
def test_call_undefined_error_message_with_container_instance_parent(self):
class UserService:
@ -437,7 +437,7 @@ class DependencyTests(unittest.TestCase):
with self.assertRaises(errors.Error) as context:
container.user_service()
self.assertEqual(str(context.exception), 'Dependency "Container.database" is not defined')
self.assertEqual(str(context.exception), "Dependency \"Container.database\" is not defined")
def test_call_undefined_error_message_with_container_provider_parent_deep(self):
class Database:
@ -473,7 +473,7 @@ class DependencyTests(unittest.TestCase):
self.assertEqual(
str(context.exception),
'Dependency "Container.services.gateways.database_client" is not defined',
"Dependency \"Container.services.gateways.database_client\" is not defined",
)
def test_call_undefined_error_message_with_dependenciescontainer_provider_parent(self):
@ -496,7 +496,7 @@ class DependencyTests(unittest.TestCase):
self.assertEqual(
str(context.exception),
'Dependency "Services.gateways.database_client" is not defined',
"Dependency \"Services.gateways.database_client\" is not defined",
)
def test_assign_parent(self):
@ -511,13 +511,13 @@ class DependencyTests(unittest.TestCase):
container = containers.DynamicContainer()
provider = providers.Dependency()
container.name = provider
self.assertEqual(provider.parent_name, 'name')
self.assertEqual(provider.parent_name, "name")
def test_parent_name_with_deep_parenting(self):
provider = providers.Dependency()
container = providers.DependenciesContainer(name=provider)
_ = providers.DependenciesContainer(container=container)
self.assertEqual(provider.parent_name, 'container.name')
self.assertEqual(provider.parent_name, "container.name")
def test_parent_name_is_none(self):
provider = providers.DependenciesContainer()
@ -541,18 +541,18 @@ class DependencyTests(unittest.TestCase):
default = providers.Configuration()
provider = providers.Dependency(default=default)
provider.from_dict({'foo': 'bar'})
provider.from_dict({"foo": "bar"})
self.assertEqual(default(), {'foo': 'bar'})
self.assertEqual(default(), {"foo": "bar"})
def test_forward_attr_to_overriding(self):
overriding = providers.Configuration()
provider = providers.Dependency()
provider.override(overriding)
provider.from_dict({'foo': 'bar'})
provider.from_dict({"foo": "bar"})
self.assertEqual(overriding(), {'foo': 'bar'})
self.assertEqual(overriding(), {"foo": "bar"})
def test_forward_attr_to_none(self):
provider = providers.Dependency()
@ -592,7 +592,7 @@ class DependencyTests(unittest.TestCase):
self.assertIsInstance(overriding_provider_copy, providers.Provider)
def test_deep_copy_default_object(self):
default = {'foo': 'bar'}
default = {"foo": "bar"}
provider = providers.Dependency(dict, default=default)
provider_copy = providers.deepcopy(provider)
@ -607,12 +607,12 @@ class DependencyTests(unittest.TestCase):
provider_copy = providers.deepcopy(provider)
self.assertEqual(provider_copy(), {'foo': bar})
self.assertEqual(provider_copy.default(), {'foo': bar})
self.assertIs(provider_copy()['foo'], bar)
self.assertEqual(provider_copy(), {"foo": bar})
self.assertEqual(provider_copy.default(), {"foo": bar})
self.assertIs(provider_copy()["foo"], bar)
def test_with_container_default_object(self):
default = {'foo': 'bar'}
default = {"foo": "bar"}
class Container(containers.DeclarativeContainer):
provider = providers.Dependency(dict, default=default)
@ -630,9 +630,9 @@ class DependencyTests(unittest.TestCase):
container = Container()
self.assertEqual(container.provider(), {'foo': bar})
self.assertEqual(container.provider.default(), {'foo': bar})
self.assertIs(container.provider()['foo'], bar)
self.assertEqual(container.provider(), {"foo": bar})
self.assertEqual(container.provider.default(), {"foo": bar})
self.assertIs(container.provider()["foo"], bar)
def test_with_container_default_provider_with_overriding(self):
bar = object()
@ -643,14 +643,14 @@ class DependencyTests(unittest.TestCase):
container = Container(provider=providers.Factory(dict, foo=providers.Object(baz)))
self.assertEqual(container.provider(), {'foo': baz})
self.assertEqual(container.provider.default(), {'foo': bar})
self.assertIs(container.provider()['foo'], baz)
self.assertEqual(container.provider(), {"foo": baz})
self.assertEqual(container.provider.default(), {"foo": bar})
self.assertIs(container.provider()["foo"], baz)
def test_repr(self):
self.assertEqual(repr(self.provider),
'<dependency_injector.providers.'
'Dependency({0}) at {1}>'.format(
"<dependency_injector.providers."
"Dependency({0}) at {1}>".format(
repr(list),
hex(id(self.provider))))
@ -661,8 +661,8 @@ class DependencyTests(unittest.TestCase):
container = Container()
self.assertEqual(repr(container.dependency),
'<dependency_injector.providers.'
'Dependency({0}) at {1}, container name: "Container.dependency">'.format(
"<dependency_injector.providers."
"Dependency({0}) at {1}, container name: \"Container.dependency\">".format(
repr(int),
hex(id(container.dependency))))
@ -687,7 +687,7 @@ class DependenciesContainerTests(unittest.TestCase):
self.container = self.Container()
def test_getattr(self):
has_dependency = hasattr(self.provider, 'dependency')
has_dependency = hasattr(self.provider, "dependency")
dependency = self.provider.dependency
self.assertIsInstance(dependency, providers.Dependency)
@ -706,8 +706,8 @@ class DependenciesContainerTests(unittest.TestCase):
def test_providers(self):
dependency1 = self.provider.dependency1
dependency2 = self.provider.dependency2
self.assertEqual(self.provider.providers, {'dependency1': dependency1,
'dependency2': dependency2})
self.assertEqual(self.provider.providers, {"dependency1": dependency1,
"dependency2": dependency2})
def test_override(self):
dependency = self.provider.dependency
@ -744,13 +744,13 @@ class DependenciesContainerTests(unittest.TestCase):
container = containers.DynamicContainer()
provider = providers.DependenciesContainer()
container.name = provider
self.assertEqual(provider.parent_name, 'name')
self.assertEqual(provider.parent_name, "name")
def test_parent_name_with_deep_parenting(self):
provider = providers.DependenciesContainer()
container = providers.DependenciesContainer(name=provider)
_ = providers.DependenciesContainer(container=container)
self.assertEqual(provider.parent_name, 'container.name')
self.assertEqual(provider.parent_name, "container.name")
def test_parent_name_is_none(self):
provider = providers.DependenciesContainer()
@ -783,7 +783,7 @@ class DependenciesContainerTests(unittest.TestCase):
def test_resolve_provider_name(self):
container = providers.DependenciesContainer()
self.assertEqual(container.resolve_provider_name(container.name), 'name')
self.assertEqual(container.resolve_provider_name(container.name), "name")
def test_resolve_provider_name_no_provider(self):
container = providers.DependenciesContainer()

View File

@ -154,8 +154,8 @@ class CallableTests(unittest.TestCase):
provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['a1']
dependent_provider_copy2 = provider_copy.kwargs['a2']
dependent_provider_copy1 = provider_copy.kwargs["a1"]
dependent_provider_copy2 = provider_copy.kwargs["a2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -193,14 +193,14 @@ class CallableTests(unittest.TestCase):
self.assertIsNot(provider, provider_copy)
self.assertIsInstance(provider_copy, providers.Callable)
self.assertIs(provider.args[0], sys.stdin)
self.assertIs(provider.kwargs['a2'], sys.stdout)
self.assertIs(provider.kwargs["a2"], sys.stdout)
def test_repr(self):
provider = providers.Callable(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Callable({0}) at {1}>'.format(
"<dependency_injector.providers."
"Callable({0}) at {1}>".format(
repr(_example),
hex(id(provider))))
@ -223,8 +223,8 @@ class DelegatedCallableTests(unittest.TestCase):
provider = providers.DelegatedCallable(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedCallable({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedCallable({0}) at {1}>".format(
repr(_example),
hex(id(provider))))
@ -275,8 +275,8 @@ class AbstractCallableTests(unittest.TestCase):
provider = providers.AbstractCallable(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'AbstractCallable({0}) at {1}>'.format(
"<dependency_injector.providers."
"AbstractCallable({0}) at {1}>".format(
repr(_example),
hex(id(provider))))

File diff suppressed because it is too large Load Diff

View File

@ -7,20 +7,20 @@ import unittest
from dependency_injector import containers, providers, errors
TEST_VALUE_1 = 'core_section_value1'
TEST_VALUE_1 = "core_section_value1"
TEST_CONFIG_1 = {
'core': {
'section': {
'value': TEST_VALUE_1,
"core": {
"section": {
"value": TEST_VALUE_1,
},
},
}
TEST_VALUE_2 = 'core_section_value2'
TEST_VALUE_2 = "core_section_value2"
TEST_CONFIG_2 = {
'core': {
'section': {
'value': TEST_VALUE_2,
"core": {
"section": {
"value": TEST_VALUE_2,
},
},
}
@ -31,12 +31,12 @@ def _copied(value):
class TestCore(containers.DeclarativeContainer):
config = providers.Configuration('core')
config = providers.Configuration("core")
value_getter = providers.Callable(lambda _: _, config.section.value)
class TestApplication(containers.DeclarativeContainer):
config = providers.Configuration('config')
config = providers.Configuration("config")
core = providers.Container(TestCore, config=config.core)
dict_factory = providers.Factory(dict, value=core.value_getter)
@ -45,22 +45,22 @@ class ContainerTests(unittest.TestCase):
def test(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_1})
def test_double_override(self):
application = TestApplication()
application.config.override(_copied(TEST_CONFIG_1))
application.config.override(_copied(TEST_CONFIG_2))
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_2})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_2})
def test_override(self):
# See: https://github.com/ets-labs/python-dependency-injector/issues/354
class D(containers.DeclarativeContainer):
foo = providers.Object('foo')
foo = providers.Object("foo")
class A(containers.DeclarativeContainer):
d = providers.DependenciesContainer()
bar = providers.Callable(lambda f: f + '++', d.foo.provided)
bar = providers.Callable(lambda f: f + "++", d.foo.provided)
class B(containers.DeclarativeContainer):
d = providers.Container(D)
@ -69,7 +69,7 @@ class ContainerTests(unittest.TestCase):
b = B(d=D())
result = b.a().bar()
self.assertEqual(result, 'foo++')
self.assertEqual(result, "foo++")
def test_override_not_root_provider(self):
# See: https://github.com/ets-labs/python-dependency-injector/issues/379
@ -102,37 +102,37 @@ class ContainerTests(unittest.TestCase):
)
container_using_factory = TestContainer(settings=dict(
container='using_factory',
foo='bar'
container="using_factory",
foo="bar"
))
self.assertEqual(
container_using_factory.root_container().print_settings(),
{'container': 'using_factory', 'foo': 'bar'},
{"container": "using_factory", "foo": "bar"},
)
self.assertEqual(
container_using_factory.not_root_container().print_settings(),
{'container': 'using_factory', 'foo': 'bar'},
{"container": "using_factory", "foo": "bar"},
)
container_using_container = TestContainer(settings=dict(
container='using_container',
foo='bar'
container="using_container",
foo="bar"
))
self.assertEqual(
container_using_container.root_container().print_settings(),
{'container': 'using_container', 'foo': 'bar'},
{"container": "using_container", "foo": "bar"},
)
self.assertEqual(
container_using_container.not_root_container().print_settings(),
{'container': 'using_container', 'foo': 'bar'},
{"container": "using_container", "foo": "bar"},
)
def test_override_by_not_a_container(self):
provider = providers.Container(TestCore)
with self.assertRaises(errors.Error):
provider.override(providers.Object('foo'))
provider.override(providers.Object("foo"))
def test_lazy_overriding(self):
# See: https://github.com/ets-labs/python-dependency-injector/issues/354
@ -151,7 +151,7 @@ class ContainerTests(unittest.TestCase):
b = B(d=D())
result = b.a().bar()
self.assertEqual(result, 'foo++')
self.assertEqual(result, "foo++")
def test_lazy_overriding_deep(self):
# Extended version of test_lazy_overriding()
@ -174,49 +174,49 @@ class ContainerTests(unittest.TestCase):
b = B(d=D())
result = b.a().c().bar()
self.assertEqual(result, 'foo++')
self.assertEqual(result, "foo++")
def test_reset_last_overriding(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2["core"])))
application.core.reset_last_overriding()
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_1})
def test_reset_last_overriding_only_overridden(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2["core"])))
application.core.reset_last_overriding()
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_1})
def test_override_context_manager(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
overriding_core = TestCore(config=_copied(TEST_CONFIG_2['core']))
overriding_core = TestCore(config=_copied(TEST_CONFIG_2["core"]))
with application.core.override(overriding_core) as context_core:
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_2})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_2})
self.assertIs(context_core(), overriding_core)
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
self.assertEqual(application.dict_factory(), {"value": TEST_VALUE_1})
def test_reset_override(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2["core"])))
application.core.reset_override()
self.assertEqual(application.dict_factory(), {'value': None})
self.assertEqual(application.dict_factory(), {"value": None})
def test_reset_override_only_overridden(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2["core"])))
application.core.reset_override()
self.assertEqual(application.dict_factory(), {'value': None})
self.assertEqual(application.dict_factory(), {"value": None})
def test_assign_parent(self):
parent = providers.DependenciesContainer()
@ -230,13 +230,13 @@ class ContainerTests(unittest.TestCase):
container = containers.DynamicContainer()
provider = providers.Container(TestCore)
container.name = provider
self.assertEqual(provider.parent_name, 'name')
self.assertEqual(provider.parent_name, "name")
def test_parent_name_with_deep_parenting(self):
provider = providers.Container(TestCore)
container = providers.DependenciesContainer(name=provider)
_ = providers.DependenciesContainer(container=container)
self.assertEqual(provider.parent_name, 'container.name')
self.assertEqual(provider.parent_name, "container.name")
def test_parent_name_is_none(self):
provider = providers.Container(TestCore)
@ -258,7 +258,7 @@ class ContainerTests(unittest.TestCase):
def test_resolve_provider_name(self):
container = providers.Container(TestCore)
self.assertEqual(container.resolve_provider_name(container.value_getter), 'value_getter')
self.assertEqual(container.resolve_provider_name(container.value_getter), "value_getter")
def test_resolve_provider_name_no_provider(self):
container = providers.Container(TestCore)

View File

@ -14,7 +14,7 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
import sys
@ -172,8 +172,8 @@ class CoroutineTests(AsyncTestCase):
provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['a1']
dependent_provider_copy2 = provider_copy.kwargs['a2']
dependent_provider_copy1 = provider_copy.kwargs["a1"]
dependent_provider_copy2 = provider_copy.kwargs["a2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -205,8 +205,8 @@ class CoroutineTests(AsyncTestCase):
provider = providers.Coroutine(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Coroutine({0}) at {1}>'.format(
"<dependency_injector.providers."
"Coroutine({0}) at {1}>".format(
repr(_example),
hex(id(provider))))
@ -229,8 +229,8 @@ class DelegatedCoroutineTests(unittest.TestCase):
provider = providers.DelegatedCoroutine(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedCoroutine({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedCoroutine({0}) at {1}>".format(
repr(_example),
hex(id(provider))))
@ -243,11 +243,11 @@ class AbstractCoroutineTests(AsyncTestCase):
def test_call_overridden_by_coroutine(self):
with warnings.catch_warnings():
warnings.simplefilter('ignore')
warnings.simplefilter("ignore")
@asyncio.coroutine
def _abstract_example():
raise RuntimeError('Should not be raised')
raise RuntimeError("Should not be raised")
provider = providers.AbstractCoroutine(_abstract_example)
provider.override(providers.Coroutine(_example))
@ -256,11 +256,11 @@ class AbstractCoroutineTests(AsyncTestCase):
def test_call_overridden_by_delegated_coroutine(self):
with warnings.catch_warnings():
warnings.simplefilter('ignore')
warnings.simplefilter("ignore")
@asyncio.coroutine
def _abstract_example():
raise RuntimeError('Should not be raised')
raise RuntimeError("Should not be raised")
provider = providers.AbstractCoroutine(_abstract_example)
provider.override(providers.DelegatedCoroutine(_example))
@ -289,8 +289,8 @@ class AbstractCoroutineTests(AsyncTestCase):
provider = providers.AbstractCoroutine(_example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'AbstractCoroutine({0}) at {1}>'.format(
"<dependency_injector.providers."
"AbstractCoroutine({0}) at {1}>".format(
repr(_example),
hex(id(provider))))

View File

@ -19,110 +19,110 @@ class DictTests(unittest.TestCase):
def test_init_with_non_string_keys(self):
a1 = object()
a2 = object()
provider = providers.Dict({a1: 'i1', a2: 'i2'})
provider = providers.Dict({a1: "i1", a2: "i2"})
dict1 = provider()
dict2 = provider()
self.assertEqual(dict1, {a1: 'i1', a2: 'i2'})
self.assertEqual(dict2, {a1: 'i1', a2: 'i2'})
self.assertEqual(dict1, {a1: "i1", a2: "i2"})
self.assertEqual(dict2, {a1: "i1", a2: "i2"})
self.assertIsNot(dict1, dict2)
def test_init_with_string_and_non_string_keys(self):
a1 = object()
provider = providers.Dict({a1: 'i1'}, a2='i2')
provider = providers.Dict({a1: "i1"}, a2="i2")
dict1 = provider()
dict2 = provider()
self.assertEqual(dict1, {a1: 'i1', 'a2': 'i2'})
self.assertEqual(dict2, {a1: 'i1', 'a2': 'i2'})
self.assertEqual(dict1, {a1: "i1", "a2": "i2"})
self.assertEqual(dict2, {a1: "i1", "a2": "i2"})
self.assertIsNot(dict1, dict2)
def test_call_with_init_keyword_args(self):
provider = providers.Dict(a1='i1', a2='i2')
provider = providers.Dict(a1="i1", a2="i2")
dict1 = provider()
dict2 = provider()
self.assertEqual(dict1, {'a1': 'i1', 'a2': 'i2'})
self.assertEqual(dict2, {'a1': 'i1', 'a2': 'i2'})
self.assertEqual(dict1, {"a1": "i1", "a2": "i2"})
self.assertEqual(dict2, {"a1": "i1", "a2": "i2"})
self.assertIsNot(dict1, dict2)
def test_call_with_context_keyword_args(self):
provider = providers.Dict(a1='i1', a2='i2')
provider = providers.Dict(a1="i1", a2="i2")
self.assertEqual(
provider(a3='i3', a4='i4'),
{'a1': 'i1', 'a2': 'i2', 'a3': 'i3', 'a4': 'i4'},
provider(a3="i3", a4="i4"),
{"a1": "i1", "a2": "i2", "a3": "i3", "a4": "i4"},
)
def test_call_with_provider(self):
provider = providers.Dict(
a1=providers.Factory(str, 'i1'),
a2=providers.Factory(str, 'i2'),
a1=providers.Factory(str, "i1"),
a2=providers.Factory(str, "i2"),
)
self.assertEqual(provider(), {'a1': 'i1', 'a2': 'i2'})
self.assertEqual(provider(), {"a1": "i1", "a2": "i2"})
def test_fluent_interface(self):
provider = providers.Dict() \
.add_kwargs(a1='i1', a2='i2')
self.assertEqual(provider(), {'a1': 'i1', 'a2': 'i2'})
.add_kwargs(a1="i1", a2="i2")
self.assertEqual(provider(), {"a1": "i1", "a2": "i2"})
def test_add_kwargs(self):
provider = providers.Dict() \
.add_kwargs(a1='i1') \
.add_kwargs(a2='i2')
self.assertEqual(provider.kwargs, {'a1': 'i1', 'a2': 'i2'})
.add_kwargs(a1="i1") \
.add_kwargs(a2="i2")
self.assertEqual(provider.kwargs, {"a1": "i1", "a2": "i2"})
def test_add_kwargs_non_string_keys(self):
a1 = object()
a2 = object()
provider = providers.Dict() \
.add_kwargs({a1: 'i1'}) \
.add_kwargs({a2: 'i2'})
self.assertEqual(provider.kwargs, {a1: 'i1', a2: 'i2'})
.add_kwargs({a1: "i1"}) \
.add_kwargs({a2: "i2"})
self.assertEqual(provider.kwargs, {a1: "i1", a2: "i2"})
def test_add_kwargs_string_and_non_string_keys(self):
a2 = object()
provider = providers.Dict() \
.add_kwargs(a1='i1') \
.add_kwargs({a2: 'i2'})
self.assertEqual(provider.kwargs, {'a1': 'i1', a2: 'i2'})
.add_kwargs(a1="i1") \
.add_kwargs({a2: "i2"})
self.assertEqual(provider.kwargs, {"a1": "i1", a2: "i2"})
def test_set_kwargs(self):
provider = providers.Dict() \
.add_kwargs(a1='i1', a2='i2') \
.set_kwargs(a3='i3', a4='i4')
self.assertEqual(provider.kwargs, {'a3': 'i3', 'a4': 'i4'})
.add_kwargs(a1="i1", a2="i2") \
.set_kwargs(a3="i3", a4="i4")
self.assertEqual(provider.kwargs, {"a3": "i3", "a4": "i4"})
def test_set_kwargs_non_string_keys(self):
a3 = object()
a4 = object()
provider = providers.Dict() \
.add_kwargs(a1='i1', a2='i2') \
.set_kwargs({a3: 'i3', a4: 'i4'})
self.assertEqual(provider.kwargs, {a3: 'i3', a4: 'i4'})
.add_kwargs(a1="i1", a2="i2") \
.set_kwargs({a3: "i3", a4: "i4"})
self.assertEqual(provider.kwargs, {a3: "i3", a4: "i4"})
def test_set_kwargs_string_and_non_string_keys(self):
a3 = object()
provider = providers.Dict() \
.add_kwargs(a1='i1', a2='i2') \
.set_kwargs({a3: 'i3'}, a4='i4')
self.assertEqual(provider.kwargs, {a3: 'i3', 'a4': 'i4'})
.add_kwargs(a1="i1", a2="i2") \
.set_kwargs({a3: "i3"}, a4="i4")
self.assertEqual(provider.kwargs, {a3: "i3", "a4": "i4"})
def test_clear_kwargs(self):
provider = providers.Dict() \
.add_kwargs(a1='i1', a2='i2') \
.add_kwargs(a1="i1", a2="i2") \
.clear_kwargs()
self.assertEqual(provider.kwargs, {})
def test_call_overridden(self):
provider = providers.Dict(a1='i1', a2='i2')
overriding_provider1 = providers.Dict(a2='i2', a3='i3')
overriding_provider2 = providers.Dict(a3='i3', a4='i4')
provider = providers.Dict(a1="i1", a2="i2")
overriding_provider1 = providers.Dict(a2="i2", a3="i3")
overriding_provider2 = providers.Dict(a3="i3", a4="i4")
provider.override(overriding_provider1)
provider.override(overriding_provider2)
@ -131,11 +131,11 @@ class DictTests(unittest.TestCase):
instance2 = provider()
self.assertIsNot(instance1, instance2)
self.assertEqual(instance1, {'a3': 'i3', 'a4': 'i4'})
self.assertEqual(instance2, {'a3': 'i3', 'a4': 'i4'})
self.assertEqual(instance1, {"a3": "i3", "a4": "i4"})
self.assertEqual(instance2, {"a3": "i3", "a4": "i4"})
def test_deepcopy(self):
provider = providers.Dict(a1='i1', a2='i2')
provider = providers.Dict(a1="i1", a2="i2")
provider_copy = providers.deepcopy(provider)
@ -144,8 +144,8 @@ class DictTests(unittest.TestCase):
self.assertIsInstance(provider, providers.Dict)
def test_deepcopy_from_memo(self):
provider = providers.Dict(a1='i1', a2='i2')
provider_copy_memo = providers.Dict(a1='i1', a2='i2')
provider = providers.Dict(a1="i1", a2="i2")
provider_copy_memo = providers.Dict(a1="i1", a2="i2")
provider_copy = providers.deepcopy(
provider,
@ -162,8 +162,8 @@ class DictTests(unittest.TestCase):
provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['d1']
dependent_provider_copy2 = provider_copy.kwargs['d2']
dependent_provider_copy1 = provider_copy.kwargs["d1"]
dependent_provider_copy2 = provider_copy.kwargs["d2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -218,14 +218,14 @@ class DictTests(unittest.TestCase):
self.assertIsNot(provider, provider_copy)
self.assertIsInstance(provider_copy, providers.Dict)
self.assertIs(provider.kwargs['stdin'], sys.stdin)
self.assertIs(provider.kwargs['stdout'], sys.stdout)
self.assertIs(provider.kwargs['stderr'], sys.stderr)
self.assertIs(provider.kwargs["stdin"], sys.stdin)
self.assertIs(provider.kwargs["stdout"], sys.stdout)
self.assertIs(provider.kwargs["stderr"], sys.stderr)
def test_repr(self):
provider = providers.Dict(a1=1, a2=2)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Dict({0}) at {1}>'.format(
"<dependency_injector.providers."
"Dict({0}) at {1}>".format(
repr(provider.kwargs),
hex(id(provider))))

View File

@ -86,48 +86,48 @@ class FactoryTests(unittest.TestCase):
self.assertIsInstance(instance2, Example)
def test_call_with_init_positional_args(self):
provider = providers.Factory(Example, 'i1', 'i2')
provider = providers.Factory(Example, "i1", "i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIsNot(instance1, instance2)
self.assertIsInstance(instance1, Example)
self.assertIsInstance(instance2, Example)
def test_call_with_init_keyword_args(self):
provider = providers.Factory(Example, init_arg1='i1', init_arg2='i2')
provider = providers.Factory(Example, init_arg1="i1", init_arg2="i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIsNot(instance1, instance2)
self.assertIsInstance(instance1, Example)
self.assertIsInstance(instance2, Example)
def test_call_with_init_positional_and_keyword_args(self):
provider = providers.Factory(Example, 'i1', init_arg2='i2')
provider = providers.Factory(Example, "i1", init_arg2="i2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.init_arg1, 'i1')
self.assertEqual(instance1.init_arg2, 'i2')
self.assertEqual(instance1.init_arg1, "i1")
self.assertEqual(instance1.init_arg2, "i2")
self.assertEqual(instance2.init_arg1, 'i1')
self.assertEqual(instance2.init_arg2, 'i2')
self.assertEqual(instance2.init_arg1, "i1")
self.assertEqual(instance2.init_arg2, "i2")
self.assertIsNot(instance1, instance2)
self.assertIsInstance(instance1, Example)
@ -135,16 +135,16 @@ class FactoryTests(unittest.TestCase):
def test_call_with_attributes(self):
provider = providers.Factory(Example)
provider.add_attributes(attribute1='a1', attribute2='a2')
provider.add_attributes(attribute1="a1", attribute2="a2")
instance1 = provider()
instance2 = provider()
self.assertEqual(instance1.attribute1, 'a1')
self.assertEqual(instance1.attribute2, 'a2')
self.assertEqual(instance1.attribute1, "a1")
self.assertEqual(instance1.attribute2, "a2")
self.assertEqual(instance2.attribute1, 'a1')
self.assertEqual(instance2.attribute2, 'a2')
self.assertEqual(instance2.attribute1, "a1")
self.assertEqual(instance2.attribute2, "a2")
self.assertIsNot(instance1, instance2)
self.assertIsInstance(instance1, Example)
@ -331,8 +331,8 @@ class FactoryTests(unittest.TestCase):
provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['a1']
dependent_provider_copy2 = provider_copy.kwargs['a2']
dependent_provider_copy1 = provider_copy.kwargs["a1"]
dependent_provider_copy2 = provider_copy.kwargs["a2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -350,8 +350,8 @@ class FactoryTests(unittest.TestCase):
provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.attributes['a1']
dependent_provider_copy2 = provider_copy.attributes['a2']
dependent_provider_copy1 = provider_copy.attributes["a1"]
dependent_provider_copy2 = provider_copy.attributes["a2"]
self.assertNotEqual(provider.attributes, provider_copy.attributes)
@ -388,15 +388,15 @@ class FactoryTests(unittest.TestCase):
self.assertIsNot(provider, provider_copy)
self.assertIsInstance(provider_copy, providers.Factory)
self.assertIs(provider.args[0], sys.stdin)
self.assertIs(provider.kwargs['a2'], sys.stdout)
self.assertIs(provider.attributes['a3'], sys.stderr)
self.assertIs(provider.kwargs["a2"], sys.stdout)
self.assertIs(provider.attributes["a3"], sys.stderr)
def test_repr(self):
provider = providers.Factory(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Factory({0}) at {1}>'.format(
"<dependency_injector.providers."
"Factory({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -419,8 +419,8 @@ class DelegatedFactoryTests(unittest.TestCase):
provider = providers.DelegatedFactory(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedFactory({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedFactory({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -465,8 +465,8 @@ class AbstractFactoryTests(unittest.TestCase):
provider = providers.AbstractFactory(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'AbstractFactory({0}) at {1}>'.format(
"<dependency_injector.providers."
"AbstractFactory({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -552,12 +552,12 @@ class FactoryAggregateTests(unittest.TestCase):
self.assertEqual(
provider.factories,
{
'example_a': self.example_a_factory,
'example_b': self.example_b_factory,
"example_a": self.example_a_factory,
"example_b": self.example_b_factory,
},
)
self.assertIsInstance(provider('example_a'), self.ExampleA)
self.assertIsInstance(provider('example_b'), self.ExampleB)
self.assertIsInstance(provider("example_a"), self.ExampleA)
self.assertIsInstance(provider("example_b"), self.ExampleB)
def test_set_factories_with_non_string_keys(self):
factory = providers.FactoryAggregate()
@ -594,9 +594,9 @@ class FactoryAggregateTests(unittest.TestCase):
self.assertIs(provider.set_factories(example_a=self.example_a_factory), provider)
def test_call(self):
object_a = self.factory_aggregate('example_a',
object_a = self.factory_aggregate("example_a",
1, 2, init_arg3=3, init_arg4=4)
object_b = self.factory_aggregate('example_b',
object_b = self.factory_aggregate("example_b",
11, 22, init_arg3=33, init_arg4=44)
self.assertIsInstance(object_a, self.ExampleA)
@ -613,7 +613,7 @@ class FactoryAggregateTests(unittest.TestCase):
def test_call_factory_name_as_kwarg(self):
object_a = self.factory_aggregate(
factory_name='example_a',
factory_name="example_a",
init_arg1=1,
init_arg2=2,
init_arg3=3,
@ -631,7 +631,7 @@ class FactoryAggregateTests(unittest.TestCase):
def test_call_no_such_provider(self):
with self.assertRaises(errors.NoSuchProviderError):
self.factory_aggregate('unknown')
self.factory_aggregate("unknown")
def test_overridden(self):
with self.assertRaises(errors.Error):
@ -684,7 +684,7 @@ class FactoryAggregateTests(unittest.TestCase):
def test_repr(self):
self.assertEqual(repr(self.factory_aggregate),
'<dependency_injector.providers.'
'FactoryAggregate({0}) at {1}>'.format(
"<dependency_injector.providers."
"FactoryAggregate({0}) at {1}>".format(
repr(self.factory_aggregate.factories),
hex(id(self.factory_aggregate))))

View File

@ -56,19 +56,19 @@ class PositionalInjectionTests(unittest.TestCase):
class NamedInjectionTests(unittest.TestCase):
def test_isinstance(self):
injection = providers.NamedInjection('name', 1)
injection = providers.NamedInjection("name", 1)
self.assertIsInstance(injection, providers.Injection)
def test_get_name(self):
injection = providers.NamedInjection('name', 123)
self.assertEqual(injection.get_name(), 'name')
injection = providers.NamedInjection("name", 123)
self.assertEqual(injection.get_name(), "name")
def test_get_value_with_not_provider(self):
injection = providers.NamedInjection('name', 123)
injection = providers.NamedInjection("name", 123)
self.assertEqual(injection.get_value(), 123)
def test_get_value_with_factory(self):
injection = providers.NamedInjection('name',
injection = providers.NamedInjection("name",
providers.Factory(object))
obj1 = injection.get_value()
@ -80,12 +80,12 @@ class NamedInjectionTests(unittest.TestCase):
def test_get_original_value(self):
provider = providers.Factory(object)
injection = providers.NamedInjection('name', provider)
injection = providers.NamedInjection("name", provider)
self.assertIs(injection.get_original_value(), provider)
def test_deepcopy(self):
provider = providers.Factory(object)
injection = providers.NamedInjection('name', provider)
injection = providers.NamedInjection("name", provider)
injection_copy = providers.deepcopy(injection)
@ -95,8 +95,8 @@ class NamedInjectionTests(unittest.TestCase):
def test_deepcopy_memo(self):
provider = providers.Factory(object)
injection = providers.NamedInjection('name', provider)
injection_copy_orig = providers.NamedInjection('name', provider)
injection = providers.NamedInjection("name", provider)
injection_copy_orig = providers.NamedInjection("name", provider)
injection_copy = providers.deepcopy(
injection, {id(injection): injection_copy_orig})

View File

@ -17,20 +17,20 @@ class ListTests(unittest.TestCase):
self.assertIsInstance(provider.provided, providers.ProvidedInstance)
def test_call_with_init_positional_args(self):
provider = providers.List('i1', 'i2')
provider = providers.List("i1", "i2")
list1 = provider()
list2 = provider()
self.assertEqual(list1, ['i1', 'i2'])
self.assertEqual(list2, ['i1', 'i2'])
self.assertEqual(list1, ["i1", "i2"])
self.assertEqual(list2, ["i1", "i2"])
self.assertIsNot(list1, list2)
def test_call_with_context_args(self):
provider = providers.List('i1', 'i2')
provider = providers.List("i1", "i2")
self.assertEqual(provider('i3', 'i4'), ['i1', 'i2', 'i3', 'i4'])
self.assertEqual(provider("i3", "i4"), ["i1", "i2", "i3", "i4"])
def test_fluent_interface(self):
provider = providers.List() \
@ -134,7 +134,7 @@ class ListTests(unittest.TestCase):
provider = providers.List(1, 2)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'List({0}) at {1}>'.format(
"<dependency_injector.providers."
"List({0}) at {1}>".format(
repr(list(provider.args)),
hex(id(provider))))

View File

@ -32,7 +32,7 @@ class Client:
class Container(containers.DeclarativeContainer):
service = providers.Singleton(Service, value='foo')
service = providers.Singleton(Service, value="foo")
client_attribute = providers.Factory(
Client,
@ -74,30 +74,30 @@ class ProvidedInstanceTests(unittest.TestCase):
def test_attribute(self):
client = self.container.client_attribute()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_item(self):
client = self.container.client_item()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_attribute_item(self):
client = self.container.client_attribute_item()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_method_call(self):
client = self.container.client_method_call()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_method_closure_call(self):
client = self.container.client_method_closure_call()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_provided_call(self):
client = self.container.client_provided_call()
self.assertEqual(client.value, 'foo')
self.assertEqual(client.value, "foo")
def test_call_overridden(self):
value = 'bar'
value = "bar"
with self.container.service.override(Service(value)):
self.assertEqual(self.container.client_attribute().value, value)
self.assertEqual(self.container.client_item().value, value)
@ -107,21 +107,21 @@ class ProvidedInstanceTests(unittest.TestCase):
def test_repr_provided_instance(self):
provider = self.container.service.provided
self.assertEqual(
'ProvidedInstance(\'{0}\')'.format(repr(self.container.service)),
"ProvidedInstance(\"{0}\")".format(repr(self.container.service)),
repr(provider),
)
def test_repr_attribute_getter(self):
provider = self.container.service.provided.value
self.assertEqual(
'AttributeGetter(\'value\')',
"AttributeGetter(\"value\")",
repr(provider),
)
def test_repr_item_getter(self):
provider = self.container.service.provided['test-test']
provider = self.container.service.provided["test-test"]
self.assertEqual(
'ItemGetter(\'test-test\')',
"ItemGetter(\"test-test\")",
repr(provider),
)
@ -139,21 +139,21 @@ class LazyInitTests(unittest.TestCase):
provides = providers.Object(object())
provider = providers.AttributeGetter()
provider.set_provides(provides)
provider.set_name('__dict__')
provider.set_name("__dict__")
self.assertIs(provider.provides, provides)
self.assertEqual(provider.name, '__dict__')
self.assertEqual(provider.name, "__dict__")
self.assertIs(provider.set_provides(providers.Provider()), provider)
self.assertIs(provider.set_name('__dict__'), provider)
self.assertIs(provider.set_name("__dict__"), provider)
def test_item_getter(self):
provides = providers.Object({'foo': 'bar'})
provides = providers.Object({"foo": "bar"})
provider = providers.ItemGetter()
provider.set_provides(provides)
provider.set_name('foo')
provider.set_name("foo")
self.assertIs(provider.provides, provides)
self.assertEqual(provider.name, 'foo')
self.assertEqual(provider.name, "foo")
self.assertIs(provider.set_provides(providers.Provider()), provider)
self.assertIs(provider.set_name('foo'), provider)
self.assertIs(provider.set_name("foo"), provider)
def test_method_caller(self):
provides = providers.Object(lambda: 42)
@ -167,25 +167,25 @@ class LazyInitTests(unittest.TestCase):
class ProvidedInstancePuzzleTests(unittest.TestCase):
def test_puzzled(self):
service = providers.Singleton(Service, value='foo-bar')
service = providers.Singleton(Service, value="foo-bar")
dependency = providers.Object(
{
'a': {
'b': {
'c1': 10,
'c2': lambda arg: {'arg': arg}
"a": {
"b": {
"c1": 10,
"c2": lambda arg: {"arg": arg}
},
},
},
)
test_list = providers.List(
dependency.provided['a']['b']['c1'],
dependency.provided['a']['b']['c2'].call(22)['arg'],
dependency.provided['a']['b']['c2'].call(service)['arg'],
dependency.provided['a']['b']['c2'].call(service)['arg'].value,
dependency.provided['a']['b']['c2'].call(service)['arg'].get_value.call(),
dependency.provided["a"]["b"]["c1"],
dependency.provided["a"]["b"]["c2"].call(22)["arg"],
dependency.provided["a"]["b"]["c2"].call(service)["arg"],
dependency.provided["a"]["b"]["c2"].call(service)["arg"].value,
dependency.provided["a"]["b"]["c2"].call(service)["arg"].get_value.call(),
)
result = test_list()
@ -196,8 +196,8 @@ class ProvidedInstancePuzzleTests(unittest.TestCase):
10,
22,
service(),
'foo-bar',
'foo-bar',
"foo-bar",
"foo-bar",
],
)

View File

@ -12,7 +12,7 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
import sys
@ -173,7 +173,7 @@ class ResourceTests(unittest.TestCase):
class TestResource(resources.Resource):
def init(self):
...
self.assertTrue(hasattr(TestResource(), 'shutdown'))
self.assertTrue(hasattr(TestResource(), "shutdown"))
def test_init_not_callable(self):
provider = providers.Resource(1)
@ -229,15 +229,15 @@ class ResourceTests(unittest.TestCase):
self.assertFalse(provider.initialized)
def test_call_with_context_args(self):
provider = providers.Resource(init_fn, 'i1', 'i2')
self.assertEqual(provider('i3', i4=4), (('i1', 'i2', 'i3'), {'i4': 4}))
provider = providers.Resource(init_fn, "i1", "i2")
self.assertEqual(provider("i3", i4=4), (("i1", "i2", "i3"), {"i4": 4}))
def test_fluent_interface(self):
provider = providers.Resource(init_fn) \
.add_args(1, 2) \
.add_kwargs(a3=3, a4=4)
self.assertEqual(provider(), ((1, 2), {'a3': 3, 'a4': 4}))
self.assertEqual(provider(), ((1, 2), {"a3": 3, "a4": 4}))
def test_set_args(self):
provider = providers.Resource(init_fn) \
@ -253,13 +253,13 @@ class ResourceTests(unittest.TestCase):
def test_set_kwargs(self):
provider = providers.Resource(init_fn) \
.add_kwargs(a1='i1', a2='i2') \
.set_kwargs(a3='i3', a4='i4')
self.assertEqual(provider.kwargs, {'a3': 'i3', 'a4': 'i4'})
.add_kwargs(a1="i1", a2="i2") \
.set_kwargs(a3="i3", a4="i4")
self.assertEqual(provider.kwargs, {"a3": "i3", "a4": "i4"})
def test_clear_kwargs(self):
provider = providers.Resource(init_fn) \
.add_kwargs(a1='i1', a2='i2') \
.add_kwargs(a1="i1", a2="i2") \
.clear_kwargs()
self.assertEqual(provider.kwargs, {})
@ -333,8 +333,8 @@ class ResourceTests(unittest.TestCase):
provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
provider_copy = providers.deepcopy(provider)
dependent_provider_copy1 = provider_copy.kwargs['d1']
dependent_provider_copy2 = provider_copy.kwargs['d2']
dependent_provider_copy1 = provider_copy.kwargs["d1"]
dependent_provider_copy2 = provider_copy.kwargs["d2"]
self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
@ -377,7 +377,7 @@ class ResourceTests(unittest.TestCase):
self.assertEqual(
repr(provider),
'<dependency_injector.providers.Resource({0}) at {1}>'.format(
"<dependency_injector.providers.Resource({0}) at {1}>".format(
repr(init_fn),
hex(id(provider)),
)
@ -506,7 +506,7 @@ class AsyncResourceTest(AsyncTestCase):
class TestAsyncResource(resources.AsyncResource):
async def init(self):
...
self.assertTrue(hasattr(TestAsyncResource(), 'shutdown'))
self.assertTrue(hasattr(TestAsyncResource(), "shutdown"))
self.assertTrue(inspect.iscoroutinefunction(TestAsyncResource.shutdown))
def test_init_with_error(self):
@ -566,11 +566,11 @@ class AsyncResourceTest(AsyncTestCase):
# See: https://github.com/ets-labs/python-dependency-injector/issues/361
async def init_db_connection(db_url: str):
await asyncio.sleep(0.001)
yield {'connection': 'ok', 'url': db_url}
yield {"connection": "ok", "url": db_url}
async def init_user_session(db):
await asyncio.sleep(0.001)
yield {'session': 'ok', 'db': db}
yield {"session": "ok", "db": db}
class Container(containers.DeclarativeContainer):
config = providers.Configuration()
@ -586,7 +586,7 @@ class AsyncResourceTest(AsyncTestCase):
)
async def main():
container = Container(config={'db_url': 'postgres://...'})
container = Container(config={"db_url": "postgres://..."})
try:
return await container.user_session()
finally:
@ -596,7 +596,7 @@ class AsyncResourceTest(AsyncTestCase):
self.assertEqual(
result,
{'session': 'ok', 'db': {'connection': 'ok', 'url': 'postgres://...'}},
{"session": "ok", "db": {"connection": "ok", "url": "postgres://..."}},
)
def test_init_and_shutdown_methods(self):

View File

@ -24,10 +24,10 @@ class SelectorTests(unittest.TestCase):
provider.set_selector(self.selector)
provider.set_providers(one=one, two=two)
self.assertEqual(provider.providers, {'one': one, 'two': two})
with self.selector.override('one'):
self.assertEqual(provider.providers, {"one": one, "two": two})
with self.selector.override("one"):
self.assertEqual(provider(), one())
with self.selector.override('two'):
with self.selector.override("two"):
self.assertEqual(provider(), two())
def test_set_selector_returns_self(self):
@ -49,10 +49,10 @@ class SelectorTests(unittest.TestCase):
two=providers.Object(2),
)
with self.selector.override('one'):
with self.selector.override("one"):
self.assertEqual(provider(), 1)
with self.selector.override('two'):
with self.selector.override("two"):
self.assertEqual(provider(), 2)
def test_call_undefined_provider(self):
@ -62,7 +62,7 @@ class SelectorTests(unittest.TestCase):
two=providers.Object(2),
)
with self.selector.override('three'):
with self.selector.override("three"):
with self.assertRaises(errors.Error):
provider()
@ -79,7 +79,7 @@ class SelectorTests(unittest.TestCase):
def test_call_any_callable(self):
provider = providers.Selector(
functools.partial(next, itertools.cycle(['one', 'two'])),
functools.partial(next, itertools.cycle(["one", "two"])),
one=providers.Object(1),
two=providers.Object(2),
)
@ -95,11 +95,11 @@ class SelectorTests(unittest.TestCase):
one=providers.Callable(lambda *args, **kwargs: (args, kwargs)),
)
with self.selector.override('one'):
with self.selector.override("one"):
args, kwargs = provider(1, 2, three=3, four=4)
self.assertEqual(args, (1, 2))
self.assertEqual(kwargs, {'three': 3, 'four': 4})
self.assertEqual(kwargs, {"three": 3, "four": 4})
def test_getattr(self):
provider_one = providers.Object(1)
@ -135,7 +135,7 @@ class SelectorTests(unittest.TestCase):
provider.override(overriding_provider1)
provider.override(overriding_provider2)
with self.selector.override('sample'):
with self.selector.override("sample"):
self.assertEqual(provider(), 3)
def test_providers_attribute(self):
@ -148,7 +148,7 @@ class SelectorTests(unittest.TestCase):
two=provider_two,
)
self.assertEqual(provider.providers, {'one': provider_one, 'two': provider_two})
self.assertEqual(provider.providers, {"one": provider_one, "two": provider_two})
def test_deepcopy(self):
provider = providers.Selector(self.selector)
@ -198,13 +198,13 @@ class SelectorTests(unittest.TestCase):
self.assertIsNot(provider, provider_copy)
self.assertIsInstance(provider_copy, providers.Selector)
with self.selector.override('stdin'):
with self.selector.override("stdin"):
self.assertIs(provider(), sys.stdin)
with self.selector.override('stdout'):
with self.selector.override("stdout"):
self.assertIs(provider(), sys.stdout)
with self.selector.override('stderr'):
with self.selector.override("stderr"):
self.assertIs(provider(), sys.stderr)
def test_repr(self):
@ -215,9 +215,9 @@ class SelectorTests(unittest.TestCase):
)
self.assertIn(
'<dependency_injector.providers.Selector({0}'.format(repr(self.selector)),
"<dependency_injector.providers.Selector({0}".format(repr(self.selector)),
repr(provider),
)
self.assertIn('one={0}'.format(repr(provider.one)), repr(provider))
self.assertIn('two={0}'.format(repr(provider.two)), repr(provider))
self.assertIn('at {0}'.format(hex(id(provider))), repr(provider))
self.assertIn("one={0}".format(repr(provider.one)), repr(provider))
self.assertIn("two={0}".format(repr(provider.two)), repr(provider))
self.assertIn("at {0}".format(hex(id(provider))), repr(provider))

View File

@ -18,8 +18,8 @@ class SingletonTests(_BaseSingletonTestCase, unittest.TestCase):
provider = self.singleton_cls(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'Singleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"Singleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -36,8 +36,8 @@ class DelegatedSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
provider = self.singleton_cls(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -50,8 +50,8 @@ class ThreadLocalSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
provider = providers.ThreadLocalSingleton(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'ThreadLocalSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"ThreadLocalSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -92,8 +92,8 @@ class DelegatedThreadLocalSingletonTests(_BaseSingletonTestCase,
provider = self.singleton_cls(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedThreadLocalSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedThreadLocalSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -106,8 +106,8 @@ class ThreadSafeSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
provider = self.singleton_cls(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'ThreadSafeSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"ThreadSafeSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -125,8 +125,8 @@ class DelegatedThreadSafeSingletonTests(_BaseSingletonTestCase,
provider = self.singleton_cls(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'DelegatedThreadSafeSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"DelegatedThreadSafeSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))
@ -185,8 +185,8 @@ class AbstractSingletonTests(unittest.TestCase):
provider = providers.AbstractSingleton(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'AbstractSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"AbstractSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))

View File

@ -13,8 +13,8 @@ class ContextLocalSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
provider = providers.ContextLocalSingleton(Example)
self.assertEqual(repr(provider),
'<dependency_injector.providers.'
'ContextLocalSingleton({0}) at {1}>'.format(
"<dependency_injector.providers."
"ContextLocalSingleton({0}) at {1}>".format(
repr(Example),
hex(id(provider))))

View File

@ -101,7 +101,7 @@ class ProviderTests(unittest.TestCase):
class ObjectTests(unittest.TestCase):
def test_traversal(self):
provider = providers.Object('string')
provider = providers.Object("string")
all_providers = list(provider.traverse())
self.assertEqual(len(all_providers), 0)
@ -250,9 +250,9 @@ class CallableTests(unittest.TestCase):
self.assertEqual(len(all_providers), 0)
def test_traverse_args(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Callable(list, 'foo', provider1, provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Callable(list, "foo", provider1, provider2)
all_providers = list(provider.traverse())
@ -261,9 +261,9 @@ class CallableTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_kwargs(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Callable(dict, foo='foo', bar=provider1, baz=provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Callable(dict, foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -272,10 +272,10 @@ class CallableTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_overridden(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Callable(dict, 'foo')
provider = providers.Callable(dict, "foo")
provider.override(provider1)
provider.override(provider2)
@ -287,8 +287,8 @@ class CallableTests(unittest.TestCase):
def test_traverse_provides(self):
provider1 = providers.Callable(list)
provider2 = providers.Object('bar')
provider3 = providers.Object('baz')
provider2 = providers.Object("bar")
provider3 = providers.Object("baz")
provider = providers.Callable(provider1, provider2)
provider.override(provider3)
@ -304,7 +304,7 @@ class CallableTests(unittest.TestCase):
class ConfigurationTests(unittest.TestCase):
def test_traverse(self):
config = providers.Configuration(default={'option1': {'option2': 'option2'}})
config = providers.Configuration(default={"option1": {"option2": "option2"}})
option1 = config.option1
option2 = config.option1.option2
option3 = config.option1[config.option1.option2]
@ -327,7 +327,7 @@ class ConfigurationTests(unittest.TestCase):
self.assertIn(option, all_providers)
def test_traverse_overridden(self):
options = {'option1': {'option2': 'option2'}}
options = {"option1": {"option2": "option2"}}
config = providers.Configuration()
config.from_dict(options)
@ -339,7 +339,7 @@ class ConfigurationTests(unittest.TestCase):
self.assertIs(overridden, config.last_overriding)
def test_traverse_overridden_option_1(self):
options = {'option2': 'option2'}
options = {"option2": "option2"}
config = providers.Configuration()
config.option1.from_dict(options)
@ -350,7 +350,7 @@ class ConfigurationTests(unittest.TestCase):
self.assertIn(config.last_overriding, all_providers)
def test_traverse_overridden_option_2(self):
options = {'option2': 'option2'}
options = {"option2": "option2"}
config = providers.Configuration()
config.option1.from_dict(options)
@ -367,9 +367,9 @@ class FactoryTests(unittest.TestCase):
self.assertEqual(len(all_providers), 0)
def test_traverse_args(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Factory(list, 'foo', provider1, provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Factory(list, "foo", provider1, provider2)
all_providers = list(provider.traverse())
@ -378,9 +378,9 @@ class FactoryTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_kwargs(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Factory(dict, foo='foo', bar=provider1, baz=provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Factory(dict, foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -389,10 +389,10 @@ class FactoryTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_attributes(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Factory(dict)
provider.add_attributes(foo='foo', bar=provider1, baz=provider2)
provider.add_attributes(foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -401,10 +401,10 @@ class FactoryTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_overridden(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Factory(dict, 'foo')
provider = providers.Factory(dict, "foo")
provider.override(provider1)
provider.override(provider2)
@ -416,8 +416,8 @@ class FactoryTests(unittest.TestCase):
def test_traverse_provides(self):
provider1 = providers.Callable(list)
provider2 = providers.Object('bar')
provider3 = providers.Object('baz')
provider2 = providers.Object("bar")
provider3 = providers.Object("baz")
provider = providers.Factory(provider1, provider2)
provider.override(provider3)
@ -452,9 +452,9 @@ class BaseSingletonTests(unittest.TestCase):
self.assertEqual(len(all_providers), 0)
def test_traverse_args(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Singleton(list, 'foo', provider1, provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Singleton(list, "foo", provider1, provider2)
all_providers = list(provider.traverse())
@ -463,9 +463,9 @@ class BaseSingletonTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_kwargs(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Singleton(dict, foo='foo', bar=provider1, baz=provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Singleton(dict, foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -474,10 +474,10 @@ class BaseSingletonTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_attributes(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Singleton(dict)
provider.add_attributes(foo='foo', bar=provider1, baz=provider2)
provider.add_attributes(foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -486,10 +486,10 @@ class BaseSingletonTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_overridden(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Singleton(dict, 'foo')
provider = providers.Singleton(dict, "foo")
provider.override(provider1)
provider.override(provider2)
@ -501,8 +501,8 @@ class BaseSingletonTests(unittest.TestCase):
def test_traverse_provides(self):
provider1 = providers.Callable(list)
provider2 = providers.Object('bar')
provider3 = providers.Object('baz')
provider2 = providers.Object("bar")
provider3 = providers.Object("baz")
provider = providers.Singleton(provider1, provider2)
provider.override(provider3)
@ -518,9 +518,9 @@ class BaseSingletonTests(unittest.TestCase):
class ListTests(unittest.TestCase):
def test_traverse_args(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.List('foo', provider1, provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.List("foo", provider1, provider2)
all_providers = list(provider.traverse())
@ -529,11 +529,11 @@ class ListTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_overridden(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider3 = providers.List(provider1, provider2)
provider = providers.List('foo')
provider = providers.List("foo")
provider.override(provider3)
all_providers = list(provider.traverse())
@ -547,9 +547,9 @@ class ListTests(unittest.TestCase):
class DictTests(unittest.TestCase):
def test_traverse_kwargs(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Dict(foo='foo', bar=provider1, baz=provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Dict(foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -558,11 +558,11 @@ class DictTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_overridden(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider3 = providers.Dict(bar=provider1, baz=provider2)
provider = providers.Dict(foo='foo')
provider = providers.Dict(foo="foo")
provider.override(provider3)
all_providers = list(provider.traverse())
@ -581,9 +581,9 @@ class ResourceTests(unittest.TestCase):
self.assertEqual(len(all_providers), 0)
def test_traverse_args(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Resource(list, 'foo', provider1, provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Resource(list, "foo", provider1, provider2)
all_providers = list(provider.traverse())
@ -592,9 +592,9 @@ class ResourceTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_kwargs(self):
provider1 = providers.Object('bar')
provider2 = providers.Object('baz')
provider = providers.Resource(dict, foo='foo', bar=provider1, baz=provider2)
provider1 = providers.Object("bar")
provider2 = providers.Object("baz")
provider = providers.Resource(dict, foo="foo", bar=provider1, baz=provider2)
all_providers = list(provider.traverse())
@ -606,7 +606,7 @@ class ResourceTests(unittest.TestCase):
provider1 = providers.Resource(list)
provider2 = providers.Resource(tuple)
provider = providers.Resource(dict, 'foo')
provider = providers.Resource(dict, "foo")
provider.override(provider1)
provider.override(provider2)
@ -676,7 +676,7 @@ class ContainerTests(unittest.TestCase):
class SelectorTests(unittest.TestCase):
def test_traverse(self):
switch = lambda: 'provider1'
switch = lambda: "provider1"
provider1 = providers.Callable(list)
provider2 = providers.Callable(dict)
@ -693,7 +693,7 @@ class SelectorTests(unittest.TestCase):
self.assertIn(provider2, all_providers)
def test_traverse_switch(self):
switch = providers.Callable(lambda: 'provider1')
switch = providers.Callable(lambda: "provider1")
provider1 = providers.Callable(list)
provider2 = providers.Callable(dict)
@ -713,10 +713,10 @@ class SelectorTests(unittest.TestCase):
def test_traverse_overridden(self):
provider1 = providers.Callable(list)
provider2 = providers.Callable(dict)
selector1 = providers.Selector(lambda: 'provider1', provider1=provider1)
selector1 = providers.Selector(lambda: "provider1", provider1=provider1)
provider = providers.Selector(
lambda: 'provider2',
lambda: "provider2",
provider2=provider2,
)
provider.override(selector1)
@ -788,7 +788,7 @@ class ItemGetterTests(unittest.TestCase):
def test_traverse(self):
provider1 = providers.Provider()
provided = provider1.provided
provider = provided['item']
provider = provided["item"]
all_providers = list(provider.traverse())
@ -801,7 +801,7 @@ class ItemGetterTests(unittest.TestCase):
provided = provider1.provided
provider2 = providers.Provider()
provider = provided['item']
provider = provided["item"]
provider.override(provider2)
all_providers = list(provider.traverse())
@ -832,7 +832,7 @@ class MethodCallerTests(unittest.TestCase):
provided = provider1.provided
method = provided.method
provider2 = providers.Provider()
provider = method.call('foo', provider2)
provider = method.call("foo", provider2)
all_providers = list(provider.traverse())
@ -847,7 +847,7 @@ class MethodCallerTests(unittest.TestCase):
provided = provider1.provided
method = provided.method
provider2 = providers.Provider()
provider = method.call(foo='foo', bar=provider2)
provider = method.call(foo="foo", bar=provider2)
all_providers = list(provider.traverse())

View File

@ -17,7 +17,7 @@ class IsProviderTests(unittest.TestCase):
self.assertFalse(providers.is_provider(providers.Provider))
def test_with_string(self):
self.assertFalse(providers.is_provider('some_string'))
self.assertFalse(providers.is_provider("some_string"))
def test_with_object(self):
self.assertFalse(providers.is_provider(object()))
@ -50,7 +50,7 @@ class EnsureIsProviderTests(unittest.TestCase):
def test_with_string(self):
self.assertRaises(errors.Error,
providers.ensure_is_provider,
'some_string')
"some_string")
def test_with_object(self):
self.assertRaises(errors.Error, providers.ensure_is_provider, object())

View File

@ -11,7 +11,7 @@ class BaseService:
def __init__(self) -> None:
self.logger = logging.getLogger(
f'{__name__}.{self.__class__.__name__}',
f"{__name__}.{self.__class__.__name__}",
)
@ -22,8 +22,8 @@ class UserService(BaseService):
super().__init__()
def get_user(self, email: str) -> Dict[str, str]:
self.logger.debug('User %s has been found in database', email)
return {'email': email, 'password_hash': '...'}
self.logger.debug("User %s has been found in database", email)
return {"email": email, "password_hash": "..."}
class AuthService(BaseService):
@ -36,8 +36,8 @@ class AuthService(BaseService):
def authenticate(self, user: Dict[str, str], password: str) -> None:
assert password is not None
self.logger.debug(
'User %s has been successfully authenticated',
user['email'],
"User %s has been successfully authenticated",
user["email"],
)
@ -50,7 +50,7 @@ class PhotoService(BaseService):
def upload_photo(self, user: Dict[str, str], photo_path: str) -> None:
self.logger.debug(
'Photo %s has been successfully uploaded by user %s',
"Photo %s has been successfully uploaded by user %s",
photo_path,
user['email'],
user["email"],
)

View File

@ -9,7 +9,7 @@ from dependency_injector.wiring import inject, Provide
class Service:
async def process(self) -> str:
return 'Ok'
return "Ok"
class Container(containers.DeclarativeContainer):
@ -21,19 +21,19 @@ app = FastAPI()
security = HTTPBasic()
@app.api_route('/')
@app.api_route("/")
@inject
async def index(service: Service = Depends(Provide[Container.service])):
result = await service.process()
return {'result': result}
return {"result": result}
@app.get('/auth')
@app.get("/auth")
@inject
def read_current_user(
credentials: HTTPBasicCredentials = Depends(security)
):
return {'username': credentials.username, 'password': credentials.password}
return {"username": credentials.username, "password": credentials.password}
container = Container()

View File

@ -1,5 +1,3 @@
import sys
from flask import Flask, jsonify, request, current_app, session, g
from flask import _request_ctx_stack, _app_ctx_stack
from dependency_injector import containers, providers
@ -12,7 +10,7 @@ _request_ctx_stack, _app_ctx_stack # noqa
class Service:
def process(self) -> str:
return 'Ok'
return "Ok"
class Container(containers.DeclarativeContainer):
@ -23,12 +21,12 @@ class Container(containers.DeclarativeContainer):
app = Flask(__name__)
@app.route('/')
@app.route("/")
@inject
def index(service: Service = Provide[Container.service]):
result = service.process()
return jsonify({'result': result})
return jsonify({"result": result})
container = Container()
container.wire(modules=[sys.modules[__name__]])
container.wire(modules=[__name__])

View File

@ -2,7 +2,7 @@
import sys
if 'pypy' not in sys.version.lower():
if "pypy" not in sys.version.lower():
import numpy # noqa
from numpy import * # noqa

View File

@ -96,7 +96,7 @@ def test_provider_provider(service_provider: Callable[..., Service] = Provider[C
@inject
def test_provided_instance(some_value: int = Provide[Container.service.provided.foo['bar'].call()]):
def test_provided_instance(some_value: int = Provide[Container.service.provided.foo["bar"].call()]):
return some_value

View File

@ -2,4 +2,4 @@
from queue import Queue
__all__ = ('Queue',)
__all__ = ("Queue",)

View File

@ -36,15 +36,15 @@ class Container(containers.DeclarativeContainer):
@inject
async def async_injection(
resource1: object = Provide['resource1'],
resource2: object = Provide['resource2'],
resource1: object = Provide["resource1"],
resource2: object = Provide["resource2"],
):
return resource1, resource2
@inject
async def async_injection_with_closing(
resource1: object = Closing[Provide['resource1']],
resource2: object = Closing[Provide['resource2']],
resource1: object = Closing[Provide["resource1"]],
resource2: object = Closing[Provide["resource2"]],
):
return resource1, resource2

View File

@ -19,58 +19,58 @@ from .container import Container
from .service import Service
service: Service = Provide['service']
service_provider: Callable[..., Service] = Provider['service']
undefined: Callable = Provide['undefined']
service: Service = Provide["service"]
service_provider: Callable[..., Service] = Provider["service"]
undefined: Callable = Provide["undefined"]
class TestClass:
service: Service = Provide['service']
service_provider: Callable[..., Service] = Provider['service']
undefined: Callable = Provide['undefined']
service: Service = Provide["service"]
service_provider: Callable[..., Service] = Provider["service"]
undefined: Callable = Provide["undefined"]
@inject
def __init__(self, service: Service = Provide['service']):
def __init__(self, service: Service = Provide["service"]):
self.service = service
@inject
def method(self, service: Service = Provide['service']):
def method(self, service: Service = Provide["service"]):
return service
@classmethod
@inject
def class_method(cls, service: Service = Provide['service']):
def class_method(cls, service: Service = Provide["service"]):
return service
@staticmethod
@inject
def static_method(service: Service = Provide['service']):
def static_method(service: Service = Provide["service"]):
return service
@inject
def test_function(service: Service = Provide['service']):
def test_function(service: Service = Provide["service"]):
return service
@inject
def test_function_provider(service_provider: Callable[..., Service] = Provider['service']):
def test_function_provider(service_provider: Callable[..., Service] = Provider["service"]):
service = service_provider()
return service
@inject
def test_config_value(
value_int: int = Provide['config.a.b.c', as_int()],
value_float: float = Provide['config.a.b.c', as_float()],
value_str: str = Provide['config.a.b.c', as_(str)],
value_decimal: Decimal = Provide['config.a.b.c', as_(Decimal)],
value_required: str = Provide['config.a.b.c', required()],
value_required_int: int = Provide['config.a.b.c', required().as_int()],
value_required_float: float = Provide['config.a.b.c', required().as_float()],
value_required_str: str = Provide['config.a.b.c', required().as_(str)],
value_required_decimal: str = Provide['config.a.b.c', required().as_(Decimal)],
value_int: int = Provide["config.a.b.c", as_int()],
value_float: float = Provide["config.a.b.c", as_float()],
value_str: str = Provide["config.a.b.c", as_(str)],
value_decimal: Decimal = Provide["config.a.b.c", as_(Decimal)],
value_required: str = Provide["config.a.b.c", required()],
value_required_int: int = Provide["config.a.b.c", required().as_int()],
value_required_float: float = Provide["config.a.b.c", required().as_float()],
value_required_str: str = Provide["config.a.b.c", required().as_(str)],
value_required_decimal: str = Provide["config.a.b.c", required().as_(Decimal)],
):
return (
value_int,
@ -87,36 +87,36 @@ def test_config_value(
@inject
def test_config_value_required_undefined(
value_required: int = Provide['config.a.b.c', required()],
value_required: int = Provide["config.a.b.c", required()],
):
return value_required
@inject
def test_provide_provider(service_provider: Callable[..., Service] = Provide['service.provider']):
def test_provide_provider(service_provider: Callable[..., Service] = Provide["service.provider"]):
service = service_provider()
return service
@inject
def test_provided_instance(some_value: int = Provide['service', provided().foo['bar'].call()]):
def test_provided_instance(some_value: int = Provide["service", provided().foo["bar"].call()]):
return some_value
@inject
def test_subcontainer_provider(some_value: int = Provide['sub.int_object']):
def test_subcontainer_provider(some_value: int = Provide["sub.int_object"]):
return some_value
@inject
def test_config_invariant(some_value: int = Provide['config.option', invariant('config.switch')]):
def test_config_invariant(some_value: int = Provide["config.option", invariant("config.switch")]):
return some_value
@inject
def test_provide_from_different_containers(
service: Service = Provide['service'],
some_value: int = Provide['int_object'],
service: Service = Provide["service"],
some_value: int = Provide["int_object"],
):
return service, some_value
@ -131,9 +131,9 @@ class ClassDecorator:
@ClassDecorator
@inject
def test_class_decorator(service: Service = Provide['service']):
def test_class_decorator(service: Service = Provide["service"]):
return service
def test_container(container: Container = Provide['<container>']):
def test_container(container: Container = Provide["<container>"]):
return container.service()

View File

@ -4,5 +4,5 @@ from ...service import Service
@inject
def test_function(service: Service = Provide['service']):
def test_function(service: Service = Provide["service"]):
return service

View File

@ -33,5 +33,5 @@ class Container(containers.DeclarativeContainer):
@inject
def test_function(service: Service = Closing[Provide['service']]):
def test_function(service: Service = Closing[Provide["service"]]):
return service

View File

@ -14,19 +14,19 @@ class FromSchemaTests(unittest.TestCase):
container = containers.DynamicContainer()
container.from_schema(
{
'version': '1',
'container': {
'provider1': {
'provider': 'Factory',
'provides': 'list',
'args': [1, 2, 3],
"version": "1",
"container": {
"provider1": {
"provider": "Factory",
"provides": "list",
"args": [1, 2, 3],
},
'provider2': {
'provider': 'Factory',
'provides': 'dict',
'kwargs': {
'one': 'container.provider1',
'two': 2,
"provider2": {
"provider": "Factory",
"provides": "dict",
"kwargs": {
"one": "container.provider1",
"two": 2,
},
},
},
@ -39,7 +39,7 @@ class FromSchemaTests(unittest.TestCase):
self.assertIsInstance(container.provider2, providers.Factory)
self.assertIs(container.provider2.provides, dict)
self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
self.assertEqual(container.provider2.kwargs, {"one": container.provider1, "two": 2})
class FromYamlSchemaTests(unittest.TestCase):
@ -48,8 +48,8 @@ class FromYamlSchemaTests(unittest.TestCase):
container = containers.DynamicContainer()
with tempfile.TemporaryDirectory() as tmp_dir:
schema_path = os.path.join(tmp_dir, 'schema.yml')
with open(schema_path, 'w') as file:
schema_path = os.path.join(tmp_dir, "schema.yml")
with open(schema_path, "w") as file:
file.write("""
version: "1"
container:
@ -76,14 +76,14 @@ class FromYamlSchemaTests(unittest.TestCase):
self.assertIsInstance(container.provider2, providers.Factory)
self.assertIs(container.provider2.provides, dict)
self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
self.assertEqual(container.provider2.kwargs, {"one": container.provider1, "two": 2})
def test_with_loader(self):
container = containers.DynamicContainer()
with tempfile.TemporaryDirectory() as tmp_dir:
schema_path = os.path.join(tmp_dir, 'schema.yml')
with open(schema_path, 'w') as file:
schema_path = os.path.join(tmp_dir, "schema.yml")
with open(schema_path, "w") as file:
file.write("""
version: "1"
container:
@ -109,13 +109,13 @@ class FromYamlSchemaTests(unittest.TestCase):
container = containers.DynamicContainer()
with no_yaml_module():
with self.assertRaises(errors.Error) as error:
container.from_yaml_schema('./no-yaml-installed.yml')
container.from_yaml_schema("./no-yaml-installed.yml")
self.assertEqual(
error.exception.args[0],
'Unable to load yaml schema - PyYAML is not installed. '
'Install PyYAML or install Dependency Injector with yaml extras: '
'"pip install dependency-injector[yaml]"',
"Unable to load yaml schema - PyYAML is not installed. "
"Install PyYAML or install Dependency Injector with yaml extras: "
"\"pip install dependency-injector[yaml]\"",
)
@ -125,24 +125,24 @@ class FromJsonSchemaTests(unittest.TestCase):
container = containers.DynamicContainer()
with tempfile.TemporaryDirectory() as tmp_dir:
schema_path = os.path.join(tmp_dir, 'schema.json')
with open(schema_path, 'w') as file:
schema_path = os.path.join(tmp_dir, "schema.json")
with open(schema_path, "w") as file:
file.write(
json.dumps(
{
'version': '1',
'container': {
'provider1': {
'provider': 'Factory',
'provides': 'list',
'args': [1, 2, 3],
"version": "1",
"container": {
"provider1": {
"provider": "Factory",
"provides": "list",
"args": [1, 2, 3],
},
'provider2': {
'provider': 'Factory',
'provides': 'dict',
'kwargs': {
'one': 'container.provider1',
'two': 2,
"provider2": {
"provider": "Factory",
"provides": "dict",
"kwargs": {
"one": "container.provider1",
"two": 2,
},
},
},
@ -159,4 +159,4 @@ class FromJsonSchemaTests(unittest.TestCase):
self.assertIsInstance(container.provider2, providers.Factory)
self.assertIs(container.provider2.provides, dict)
self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
self.assertEqual(container.provider2.kwargs, {"one": container.provider1, "two": 2})

View File

@ -8,13 +8,13 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
_SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../samples/',
"../samples/",
)),
)
import sys
@ -27,17 +27,17 @@ class TestSchemaSingleContainer(unittest.TestCase):
def test(self):
container = containers.DynamicContainer()
container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-single.yml')
container.from_yaml_schema(f"{_SAMPLES_DIR}/schemasample/container-single.yml")
container.config.from_dict({
'database': {
'dsn': ':memory:',
"database": {
"dsn": ":memory:",
},
'aws': {
'access_key_id': 'KEY',
'secret_access_key': 'SECRET',
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
},
'auth': {
'token_ttl': 3600,
"auth": {
"token_ttl": 3600,
},
})
@ -90,17 +90,17 @@ class TestSchemaMultipleContainers(unittest.TestCase):
def test(self):
container = containers.DynamicContainer()
container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple.yml')
container.from_yaml_schema(f"{_SAMPLES_DIR}/schemasample/container-multiple.yml")
container.core.config.from_dict({
'database': {
'dsn': ':memory:',
"database": {
"dsn": ":memory:",
},
'aws': {
'access_key_id': 'KEY',
'secret_access_key': 'SECRET',
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
},
'auth': {
'token_ttl': 3600,
"auth": {
"token_ttl": 3600,
},
})
@ -153,17 +153,17 @@ class TestSchemaMultipleContainersReordered(unittest.TestCase):
def test(self):
container = containers.DynamicContainer()
container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple-reordered.yml')
container.from_yaml_schema(f"{_SAMPLES_DIR}/schemasample/container-multiple-reordered.yml")
container.core.config.from_dict({
'database': {
'dsn': ':memory:',
"database": {
"dsn": ":memory:",
},
'aws': {
'access_key_id': 'KEY',
'secret_access_key': 'SECRET',
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
},
'auth': {
'token_ttl': 3600,
"auth": {
"token_ttl": 3600,
},
})
@ -216,17 +216,17 @@ class TestSchemaMultipleContainersWithInlineProviders(unittest.TestCase):
def test(self):
container = containers.DynamicContainer()
container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple-inline.yml')
container.from_yaml_schema(f"{_SAMPLES_DIR}/schemasample/container-multiple-inline.yml")
container.core.config.from_dict({
'database': {
'dsn': ':memory:',
"database": {
"dsn": ":memory:",
},
'aws': {
'access_key_id': 'KEY',
'secret_access_key': 'SECRET',
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
},
'auth': {
'token_ttl': 3600,
"auth": {
"token_ttl": 3600,
},
})
@ -277,18 +277,18 @@ class TestSchemaMultipleContainersWithInlineProviders(unittest.TestCase):
class TestSchemaBoto3Session(unittest.TestCase):
@unittest.skip('Boto3 tries to connect to the internet')
@unittest.skip("Boto3 tries to connect to the internet")
def test(self):
container = containers.DynamicContainer()
container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-boto3-session.yml')
container.from_yaml_schema(f"{_SAMPLES_DIR}/schemasample/container-boto3-session.yml")
container.config.from_dict(
{
'aws_access_key_id': 'key',
'aws_secret_access_key': 'secret',
'aws_session_token': 'token',
'aws_region_name': 'us-east-1',
"aws_access_key_id": "key",
"aws_secret_access_key": "secret",
"aws_session_token": "token",
"aws_region_name": "us-east-1",
},
)
self.assertEqual(container.s3_client().__class__.__name__, 'S3')
self.assertEqual(container.sqs_client().__class__.__name__, 'SQS')
self.assertEqual(container.s3_client().__class__.__name__, "S3")
self.assertEqual(container.sqs_client().__class__.__name__, "SQS")

View File

@ -8,4 +8,4 @@ from dependency_injector import __version__
class VersionTest(unittest.TestCase):
def test_version_follows_semantic_versioning(self):
self.assertEqual(len(__version__.split('.')), 3)
self.assertEqual(len(__version__.split(".")), 3)

View File

@ -18,13 +18,13 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
_SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../samples/',
"../samples/",
)),
)
import sys
@ -44,7 +44,7 @@ class WiringTest(unittest.TestCase):
container: Container
def setUp(self) -> None:
self.container = Container(config={'a': {'b': {'c': 10}}})
self.container = Container(config={"a": {"b": {"c": 10}}})
self.container.wire(
modules=[module],
packages=[package],
@ -77,7 +77,7 @@ class WiringTest(unittest.TestCase):
self.container.wire(modules=[module_invalid_attr_injection])
self.assertEqual(
str(context.exception),
'Unknown type of marker {0}'.format(module_invalid_attr_injection.service),
"Unknown type of marker {0}".format(module_invalid_attr_injection.service),
)
def test_class_wiring(self):
@ -153,17 +153,17 @@ class WiringTest(unittest.TestCase):
self.assertEqual(value_int, 10)
self.assertEqual(value_float, 10.0)
self.assertEqual(value_str, '10')
self.assertEqual(value_str, "10")
self.assertEqual(value_decimal, Decimal(10))
self.assertEqual(value_required, 10)
self.assertEqual(value_required_int, 10)
self.assertEqual(value_required_float, 10.0)
self.assertEqual(value_required_str, '10')
self.assertEqual(value_required_str, "10")
self.assertEqual(value_required_decimal, Decimal(10))
def test_configuration_option_required_undefined(self):
self.container.config.reset_override()
with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a.b.c"'):
with self.assertRaisesRegex(errors.Error, "Undefined configuration option \"config.a.b.c\""):
module.test_config_value_required_undefined()
def test_provide_provider(self):
@ -177,7 +177,7 @@ class WiringTest(unittest.TestCase):
def test_provided_instance(self):
class TestService:
foo = {
'bar': lambda: 10,
"bar": lambda: 10,
}
with self.container.service.override(TestService()):
@ -190,22 +190,22 @@ class WiringTest(unittest.TestCase):
def test_config_invariant(self):
config = {
'option': {
'a': 1,
'b': 2,
"option": {
"a": 1,
"b": 2,
},
'switch': 'a',
"switch": "a",
}
self.container.config.from_dict(config)
value_default = module.test_config_invariant()
self.assertEqual(value_default, 1)
with self.container.config.switch.override('a'):
with self.container.config.switch.override("a"):
value_a = module.test_config_invariant()
self.assertEqual(value_a, 1)
with self.container.config.switch.override('b'):
with self.container.config.switch.override("b"):
value_b = module.test_config_invariant()
self.assertEqual(value_b, 2)
@ -364,7 +364,7 @@ class WiringWithStringModuleAndPackageNamesTest(unittest.TestCase):
class ModuleAsPackageTest(unittest.TestCase):
def setUp(self):
self.container = Container(config={'a': {'b': {'c': 10}}})
self.container = Container(config={"a": {"b": {"c": 10}}})
self.addCleanup(self.container.unwire)
def test_module_as_package_wiring(self):
@ -484,7 +484,7 @@ class AutoLoaderTest(unittest.TestCase):
container: Container
def setUp(self) -> None:
self.container = Container(config={'a': {'b': {'c': 10}}})
self.container = Container(config={"a": {"b": {"c": 10}}})
importlib.reload(module)
def tearDown(self) -> None:
@ -500,7 +500,7 @@ class AutoLoaderTest(unittest.TestCase):
def test_register_container(self):
register_loader_containers(self.container)
importlib.reload(module)
importlib.import_module('wiringsamples.imports')
importlib.import_module("wiringsamples.imports")
service = module.test_function()
self.assertIsInstance(service, Service)

View File

@ -18,13 +18,13 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
_SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../samples/',
"../samples/",
)),
)
import sys
@ -43,7 +43,7 @@ class WiringTest(unittest.TestCase):
container: Container
def setUp(self) -> None:
self.container = Container(config={'a': {'b': {'c': 10}}})
self.container = Container(config={"a": {"b": {"c": 10}}})
self.container.wire(
modules=[module],
packages=[package],
@ -143,17 +143,17 @@ class WiringTest(unittest.TestCase):
self.assertEqual(value_int, 10)
self.assertEqual(value_float, 10.0)
self.assertEqual(value_str, '10')
self.assertEqual(value_str, "10")
self.assertEqual(value_decimal, Decimal(10))
self.assertEqual(value_required, 10)
self.assertEqual(value_required_int, 10)
self.assertEqual(value_required_float, 10.0)
self.assertEqual(value_required_str, '10')
self.assertEqual(value_required_str, "10")
self.assertEqual(value_required_decimal, Decimal(10))
def test_configuration_option_required_undefined(self):
self.container.config.reset_override()
with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a.b.c"'):
with self.assertRaisesRegex(errors.Error, "Undefined configuration option \"config.a.b.c\""):
module.test_config_value_required_undefined()
def test_provide_provider(self):
@ -163,7 +163,7 @@ class WiringTest(unittest.TestCase):
def test_provided_instance(self):
class TestService:
foo = {
'bar': lambda: 10,
"bar": lambda: 10,
}
with self.container.service.override(TestService()):
@ -176,22 +176,22 @@ class WiringTest(unittest.TestCase):
def test_config_invariant(self):
config = {
'option': {
'a': 1,
'b': 2,
"option": {
"a": 1,
"b": 2,
},
'switch': 'a',
"switch": "a",
}
self.container.config.from_dict(config)
value_default = module.test_config_invariant()
self.assertEqual(value_default, 1)
with self.container.config.switch.override('a'):
with self.container.config.switch.override("a"):
value_a = module.test_config_invariant()
self.assertEqual(value_a, 1)
with self.container.config.switch.override('b'):
with self.container.config.switch.override("b"):
value_b = module.test_config_invariant()
self.assertEqual(value_b, 2)
@ -418,7 +418,7 @@ class AutoLoaderTest(unittest.TestCase):
container: Container
def setUp(self) -> None:
self.container = Container(config={'a': {'b': {'c': 10}}})
self.container = Container(config={"a": {"b": {"c": 10}}})
importlib.reload(module)
def tearDown(self) -> None:

View File

@ -5,13 +5,13 @@ import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../',
"../",
)),
)
_SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
'../samples/',
"../samples/",
)),
)
import sys
@ -29,7 +29,7 @@ class WiringFastAPITest(AsyncTestCase):
def setUp(self) -> None:
super().setUp()
self.client = AsyncClient(app=web.app, base_url='http://test')
self.client = AsyncClient(app=web.app, base_url="http://test")
def tearDown(self) -> None:
self._run(self.client.aclose())
@ -38,15 +38,15 @@ class WiringFastAPITest(AsyncTestCase):
def test_depends_marker_injection(self):
class ServiceMock:
async def process(self):
return 'Foo'
return "Foo"
with web.container.service.override(ServiceMock()):
response = self._run(self.client.get('/'))
response = self._run(self.client.get("/"))
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(), {'result': 'Foo'})
self.assertEqual(response.json(), {"result": "Foo"})
def test_depends_injection(self):
response = self._run(self.client.get('/auth', auth=('john_smith', 'secret')))
response = self._run(self.client.get("/auth", auth=("john_smith", "secret")))
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(), {'username': 'john_smith', 'password': 'secret'})
self.assertEqual(response.json(), {"username": "john_smith", "password": "secret"})