From 61088f5f67bd7311ab4081dfd3672f78305babd5 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Tue, 8 Oct 2019 14:35:41 -0400 Subject: [PATCH] Add test that reproduces the issue --- tests/unit/providers/test_base_py2_py3.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/unit/providers/test_base_py2_py3.py b/tests/unit/providers/test_base_py2_py3.py index 2f929cbf..b017edfd 100644 --- a/tests/unit/providers/test_base_py2_py3.py +++ b/tests/unit/providers/test_base_py2_py3.py @@ -193,6 +193,17 @@ class ObjectProviderTests(unittest.TestCase): self.assertIsNot(overriding_provider, overriding_provider_copy) self.assertIsInstance(overriding_provider_copy, providers.Provider) + def test_deepcopy_doesnt_copy_provided_object(self): + # Fixes bug #231 + # Details: https://github.com/ets-labs/python-dependency-injector/issues/231 + some_object = object() + provider = providers.Object(some_object) + + provider_copy = providers.deepcopy(provider) + + self.assertIs(provider(), some_object) + self.assertIs(provider_copy(), some_object) + def test_repr(self): some_object = object() provider = providers.Object(some_object)