Skip to content

Commit e57a50e

Browse files
committed
chore: rename di_check to di_config_checker
1 parent 7689f8d commit e57a50e

20 files changed

+77
-92
lines changed

src/core/system/containers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
from dependency_injector import providers
33
from dependency_injector.providers import Provider
44

5-
from core.system.di_check.containers import DependencyInjectorCheckContainer
5+
from core.system.di_config_checker.containers import DependencyInjectorConfigCheckerContainer
66

77

88
class SystemContainer(containers.DeclarativeContainer):
99
config = providers.Configuration()
1010

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,
1414
)

src/core/system/di_check/containers.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/core/system/di_check/controllers.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/core/system/di_check/examples.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/core/system/di_check/interfaces.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/core/system/di_check/services.py

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
response_examples = [
2+
{
3+
"injected_config_env": "local",
4+
},
5+
]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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

src/core/system/di_check/schemas.py renamed to src/core/system/di_config_checker/schemas.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
from pydantic import ConfigDict
55
from pydantic.config import JsonDict
66

7-
from core.system.di_check.examples import response_examples
7+
from core.system.di_config_checker.examples import response_examples
88

99

10-
class DependencyInjectorCheckResponse(BaseModel):
11-
injected_config_value: str
10+
class DependencyInjectorConfigCheckerResponse(BaseModel):
11+
injected_config_env: str
1212

1313
model_config = ConfigDict(
1414
json_schema_extra=cast(
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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

src/di_configs/dev.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/di_configs/local.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/di_configs/prod.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/di_configs/stg.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/di_configs/test.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/utils/paths.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
APP_ROOT_DIR = Path(__file__).resolve().parent.parent
77
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"
99

1010
PROJECT_ROOT_DIR = Path(__file__).resolve().parent.parent.parent
1111
TESTS_DIR = PROJECT_ROOT_DIR / "tests"

tests/e2e/system/test_apis.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ async def test_health(async_test_client: AsyncClient):
2323

2424

2525
@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"]
3030

31-
response = await async_test_client.get("/di-check")
31+
response = await async_test_client.get("/di-config-check")
3232
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

0 commit comments

Comments
 (0)