Esempio n. 1
0
def test_class_mapping():
    container.initialize()
    container.register_class(Example, Example2)

    instance = container.get(Example)

    assert type(instance) is Example2
Esempio n. 2
0
def test_argument_injection():
    config_value = "config value"
    container.initialize(MemoryConfig({CONFIG_ARGUMENT: config_value}))
    container.register_instance_by_name("test_service", ExampleServiceByName())

    instance = container.get(Example)

    assert type(instance) is Example
    assert instance.arg == FREE_ARGUMENT
    assert instance.arg2 == PLAIN_ARGUMENT
    assert instance.arg3 == config_value
    assert instance.arg4 == CONFIG_DEFAULT
    assert isinstance(instance.arg5, ExampleServiceByName)
Esempio n. 3
0
def test_class_mapping_from_init():
    container.initialize(class_mapping={Example: Example2})

    instance = container.get(Example)

    assert type(instance) is Example2
Esempio n. 4
0
def setup():
    container.initialize()
def init(config: dict):
    container.initialize(MemoryConfig(config))

    container.register_many(FaceDetector, [HumanFaceDetector, DogFaceDetector])
    container.register_many(FaceModifier, [SkyrimHelmetWearer])
Esempio n. 6
0
def test_config_provider_is_not_initialized():
    container.initialize()

    with pytest.raises(ConfigProviderRequiredException):
        container.get(Example)
Esempio n. 7
0
def test_argument_not_in_config_and_no_default():
    container.initialize(MemoryConfig({}))

    with pytest.raises(KeyError):
        container.get(ExampleThrow)