示例#1
0
 def test__resove_type_lazy(self):
     container = DIContainer({
         'instance': DIConfig(
             type='mock.MagicMock')
     })
     with mock.patch.object(container, 'resolve_type') as resolve_type_mock:
         lazy_type = container.resolve_type_lazy('instance')
         self.assertFalse(resolve_type_mock.called)
         lazy_type()
         self.assertTrue(resolve_type_mock.called)
示例#2
0
    def test__resove_type_lazy_django(self):
        container = DIContainer(
            proxy_type_name='django.utils.functional.SimpleLazyObject',
            settings={
                'instance': DIConfig(
                    type='mock.MagicMock')
            }
        )
        with mock.patch.object(container, 'resolve_type') as resolve_type_mock:
            lazy_type = container.resolve_type_lazy('instance')
            self.assertFalse(resolve_type_mock.called)

            # Simple Lazy Object in not able to do so...
            self.assertRaises(Exception, lazy_type)