|
1 | 1 | import pytest
|
2 |
| -from injector import ( |
3 |
| - CircularDependency, |
4 |
| - UnsatisfiedRequirement, |
5 |
| - is_decorated_with_inject, |
6 |
| -) |
| 2 | +from injector import CircularDependency, is_decorated_with_inject |
7 | 3 |
|
8 | 4 | from ellar.di import (
|
9 | 5 | EllarInjector,
|
@@ -99,25 +95,12 @@ def test_provider_advance_use_case():
|
99 | 95 | assert isinstance(db_context, AnyDBContext)
|
100 | 96 | assert repository.context == db_context # service registered as singleton
|
101 | 97 |
|
102 |
| - with pytest.raises(UnsatisfiedRequirement): |
103 |
| - injector.get(AnyDBContext) |
104 |
| - |
105 |
| - with pytest.raises(UnsatisfiedRequirement): |
106 |
| - injector.get(FooDBCatsRepository) |
107 |
| - |
108 |
| - providers_advance.append(ProviderConfig(AnyDBContext)) |
109 |
| - providers_advance.append(ProviderConfig(FooDBCatsRepository)) |
110 |
| - |
111 |
| - injector = EllarInjector(auto_bind=False) |
112 |
| - |
113 |
| - for provider in providers_advance: |
114 |
| - provider.register(injector.container) |
115 |
| - |
116 |
| - assert injector.get(AnyDBContext) |
117 |
| - assert injector.get(FooDBCatsRepository) |
118 |
| - |
119 |
| - assert isinstance(injector.get(IRepository), FooDBCatsRepository) |
120 |
| - assert isinstance(injector.get(IDBContext), AnyDBContext) |
| 98 | + assert isinstance( |
| 99 | + injector.get(FooDBCatsRepository), FooDBCatsRepository |
| 100 | + ) # only possible because they are decorated with injectable |
| 101 | + assert isinstance( |
| 102 | + injector.get(AnyDBContext), AnyDBContext |
| 103 | + ) # only possible because they are decorated with injectable |
121 | 104 |
|
122 | 105 |
|
123 | 106 | def test_module_provider_works():
|
|
0 commit comments