From bc07402b232d68e75ffd16b4d755a0d2113a2d7d Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 3 Jan 2021 17:28:48 -0500 Subject: [PATCH] Add tests for async context kwargs injections --- tests/unit/providers/test_async_py36.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/unit/providers/test_async_py36.py b/tests/unit/providers/test_async_py36.py index 74d41dcb..ed0af32b 100644 --- a/tests/unit/providers/test_async_py36.py +++ b/tests/unit/providers/test_async_py36.py @@ -130,6 +130,22 @@ class FactoryTests(AsyncTestCase): self.assertIsNot(service1.client, service2.client) + def test_context_kwargs_injection(self): + resource2_extra = object() + + container = Container() + + client1 = self._run(container.client(resource2=resource2_extra)) + client2 = self._run(container.client(resource2=resource2_extra)) + + self.assertIsInstance(client1, Client) + self.assertIs(client1.resource1, RESOURCE1) + self.assertIs(client1.resource2, resource2_extra) + + self.assertIsInstance(client2, Client) + self.assertIs(client2.resource1, RESOURCE1) + self.assertIs(client2.resource2, resource2_extra) + def test_args_kwargs_injection(self): class ContainerWithArgsAndKwArgs(containers.DeclarativeContainer): resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))