File tree 20 files changed +77
-92
lines changed 20 files changed +77
-92
lines changed Original file line number Diff line number Diff line change 2
2
from dependency_injector import providers
3
3
from dependency_injector .providers import Provider
4
4
5
- from core .system .di_check .containers import DependencyInjectorCheckContainer
5
+ from core .system .di_config_checker .containers import DependencyInjectorConfigCheckerContainer
6
6
7
7
8
8
class SystemContainer (containers .DeclarativeContainer ):
9
9
config = providers .Configuration ()
10
10
11
- di_check_container : Provider [containers .DeclarativeContainer ] = providers .Container (
12
- DependencyInjectorCheckContainer ,
13
- config = config .di_check ,
11
+ di_config_checker_container : Provider [containers .DeclarativeContainer ] = providers .Container (
12
+ DependencyInjectorConfigCheckerContainer ,
13
+ config = config .di_config_checker ,
14
14
)
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
File renamed without changes.
Original file line number Diff line number Diff line change
1
+ from dependency_injector import containers
2
+ from dependency_injector import providers
3
+ from dependency_injector .providers import Provider
4
+
5
+ from core .system .di_config_checker .interfaces import DependencyInjectorConfigChecker
6
+ from core .system .di_config_checker .services import DependencyInjectorConfigCheckerSimpleImpl
7
+
8
+
9
+ class DependencyInjectorConfigCheckerContainer (containers .DeclarativeContainer ):
10
+ config = providers .Configuration ()
11
+
12
+ di_config_checker : Provider [DependencyInjectorConfigChecker ] = providers .Singleton (
13
+ DependencyInjectorConfigCheckerSimpleImpl ,
14
+ injected_config_env = config .env ,
15
+ )
Original file line number Diff line number Diff line change
1
+ from dependency_injector .wiring import Provide
2
+ from dependency_injector .wiring import inject
3
+ from fastapi import Depends
4
+
5
+ from core .system .containers import DependencyInjectorConfigCheckerContainer
6
+ from core .system .controllers import router
7
+ from core .system .di_config_checker .interfaces import DependencyInjectorConfigChecker
8
+ from core .system .di_config_checker .schemas import DependencyInjectorConfigCheckerResponse
9
+
10
+
11
+ @router .get ("/di-config-check" , response_model = DependencyInjectorConfigCheckerResponse )
12
+ @inject
13
+ async def di_check (
14
+ service : DependencyInjectorConfigChecker = Depends (
15
+ Provide [DependencyInjectorConfigCheckerContainer .di_config_checker ],
16
+ ),
17
+ ) -> DependencyInjectorConfigCheckerResponse :
18
+ response = service .check ()
19
+ return response
Original file line number Diff line number Diff line change
1
+ response_examples = [
2
+ {
3
+ "injected_config_env" : "local" ,
4
+ },
5
+ ]
Original file line number Diff line number Diff line change
1
+ from abc import ABC
2
+ from abc import abstractmethod
3
+
4
+ from core .system .di_config_checker .schemas import DependencyInjectorConfigCheckerResponse
5
+
6
+
7
+ class DependencyInjectorConfigChecker (ABC ):
8
+ @abstractmethod
9
+ def check (self ) -> DependencyInjectorConfigCheckerResponse :
10
+ pass
Original file line number Diff line number Diff line change 4
4
from pydantic import ConfigDict
5
5
from pydantic .config import JsonDict
6
6
7
- from core .system .di_check .examples import response_examples
7
+ from core .system .di_config_checker .examples import response_examples
8
8
9
9
10
- class DependencyInjectorCheckResponse (BaseModel ):
11
- injected_config_value : str
10
+ class DependencyInjectorConfigCheckerResponse (BaseModel ):
11
+ injected_config_env : str
12
12
13
13
model_config = ConfigDict (
14
14
json_schema_extra = cast (
Original file line number Diff line number Diff line change
1
+ from typing import override
2
+
3
+ from core .system .di_config_checker .interfaces import DependencyInjectorConfigChecker
4
+ from core .system .di_config_checker .schemas import DependencyInjectorConfigCheckerResponse
5
+
6
+
7
+ class DependencyInjectorConfigCheckerSimpleImpl (DependencyInjectorConfigChecker ):
8
+ def __init__ (self , injected_config_env : str ):
9
+ self .injected_config_env = injected_config_env
10
+
11
+ @override
12
+ def check (self ) -> DependencyInjectorConfigCheckerResponse :
13
+ response = DependencyInjectorConfigCheckerResponse (injected_config_env = self .injected_config_env )
14
+ return response
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 5
5
6
6
APP_ROOT_DIR = Path (__file__ ).resolve ().parent .parent
7
7
APP_DESCRIPTION_PATH = APP_ROOT_DIR / "description.md"
8
- APP_DI_CONFIG_DIR = APP_ROOT_DIR / "di_configs "
8
+ APP_DI_CONFIG_DIR = APP_ROOT_DIR / "configs "
9
9
10
10
PROJECT_ROOT_DIR = Path (__file__ ).resolve ().parent .parent .parent
11
11
TESTS_DIR = PROJECT_ROOT_DIR / "tests"
Original file line number Diff line number Diff line change @@ -23,11 +23,11 @@ async def test_health(async_test_client: AsyncClient):
23
23
24
24
25
25
@pytest .mark .e2e
26
- async def test_di_check (async_test_client : AsyncClient , app_settings : AppSettings ):
27
- di_config_text = ENV_TO_DI_CONFIG_PATH (app_settings .ENV ).read_text (encoding = "utf-8" )
28
- di_config = yaml .safe_load (di_config_text )
29
- expected_injected_config_value = di_config ["system" ]["di_check " ]["value " ]
26
+ async def test_di_config_checker (async_test_client : AsyncClient , app_settings : AppSettings ):
27
+ config_text = ENV_TO_DI_CONFIG_PATH (app_settings .ENV ).read_text (encoding = "utf-8" )
28
+ config = yaml .safe_load (config_text )
29
+ expected_injected_config_env = config ["system" ]["di_config_checker " ]["env " ]
30
30
31
- response = await async_test_client .get ("/di-check" )
31
+ response = await async_test_client .get ("/di-config- check" )
32
32
assert response .status_code == status .HTTP_200_OK
33
- assert response .json ()["injected_config_value " ] == expected_injected_config_value
33
+ assert response .json ()["injected_config_env " ] == expected_injected_config_env
You can’t perform that action at this time.
0 commit comments