def test__proxy_type_import_error(self): container = DIContainer( proxy_type_name='does.not.Exists', settings={ 'instance': DIConfig( type='mock.MagicMock') } ) self.assertRaises(ImportError, lambda: container.resolve_lazy("instance"))
def test__resolve_lazy(self): container = DIContainer({ 'instance': DIConfig( type='mock.MagicMock') }) with mock.patch.object(container, 'resolve') as resolve_mock: lazy_instance = container.resolve_lazy('instance') self.assertFalse(resolve_mock.called) lazy_instance.some_function() self.assertTrue(resolve_mock.called) resolve_mock.assert_called_with('instance')
def test__resolve_lazy_django(self): container = DIContainer( proxy_type_name='django.utils.functional.SimpleLazyObject', settings={ 'instance': DIConfig( type='mock.MagicMock') } ) with mock.patch.object(container, 'resolve') as resolve_mock: lazy_instance = container.resolve_lazy('instance') self.assertFalse(resolve_mock.called) lazy_instance.some_function() self.assertTrue(resolve_mock.called) resolve_mock.assert_called_with('instance')