示例#1
0
class Core(containers.DeclarativeContainer):
    """IoC container of core component providers."""

    config = providers.Configuration('config')
    logger = providers.AbstractSingleton(logging.Logger)
    profiler = providers.AbstractSingleton(logging.Logger)
    science_logger = providers.Singleton(logging.getLogger, 'bpm_science')
示例#2
0
    def test_repr(self):
        provider = providers.AbstractSingleton(Example)

        self.assertEqual(
            repr(provider), '<dependency_injector.providers.'
            'AbstractSingleton({0}) at {1}>'.format(repr(Example),
                                                    hex(id(provider))))
示例#3
0
    def test_reset_overridden(self):
        provider = providers.AbstractSingleton(object)
        provider.override(providers.Singleton(Example))

        instance1 = provider()

        provider.reset()

        instance2 = provider()

        self.assertIsNot(instance1, instance2)
        self.assertIsInstance(instance1, Example)
        self.assertIsInstance(instance2, Example)
示例#4
0
def test_reset_overridden():
    provider = providers.AbstractSingleton(object)
    provider.override(providers.Singleton(Example))

    instance1 = provider()

    provider.reset()

    instance2 = provider()

    assert instance1 is not instance2
    assert isinstance(instance1, Example)
    assert isinstance(instance2, Example)
示例#5
0
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)

# Test 7: to check the ThreadSafeSingleton
provider7: providers.BaseSingleton[Animal] = providers.ThreadSafeSingleton(Cat)
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)

# Test 9: to check the ThreadLocalSingleton
provider9 = providers.ThreadLocalSingleton(Cat)
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)

# 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)

# Test 12: to check the SingletonDelegate __init__
provider12 = providers.SingletonDelegate(providers.Singleton(object))
示例#6
0
    def test_override_by_not_singleton(self):
        provider = providers.AbstractSingleton(object)

        with self.assertRaises(errors.Error):
            provider.override(providers.Factory(object))
示例#7
0
    def test_reset_not_overridden(self):
        provider = providers.AbstractSingleton(object)

        with self.assertRaises(errors.Error):
            provider.reset()
示例#8
0
    def test_call_overridden_by_delegated_singleton(self):
        provider = providers.AbstractSingleton(object)
        provider.override(providers.DelegatedSingleton(Example))

        self.assertIsInstance(provider(), Example)
示例#9
0
 def test_inheritance(self):
     self.assertIsInstance(providers.AbstractSingleton(Example),
                           providers.BaseSingleton)
示例#10
0
def test_inheritance():
    assert isinstance(providers.AbstractSingleton(Example),
                      providers.BaseSingleton)
示例#11
0
def test_repr():
    provider = providers.AbstractSingleton(Example)
    assert repr(provider) == ("<dependency_injector.providers."
                              "AbstractSingleton({0}) at {1}>".format(
                                  repr(Example), hex(id(provider))))
示例#12
0
def test_reset_not_overridden():
    provider = providers.AbstractSingleton(object)
    with raises(errors.Error):
        provider.reset()
示例#13
0
def test_call_overridden_by_singleton():
    provider = providers.AbstractSingleton(object)
    provider.override(providers.Singleton(Example))
    assert isinstance(provider(), Example)