Skip to content

Commit

Permalink
실제 컨테이너를 통해 객체를 구성하고 테스트 코드에서의 기능 사용 방식 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
qodot committed Sep 20, 2023
1 parent 03bf1c9 commit 789882a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 8 deletions.
18 changes: 18 additions & 0 deletions src/appl/container.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from src.appl.create_calendar import CreateCalendar
from src.appl.i_container import IContainer
from src.infra.repo.sa import SA
from src.infra.repo.sa_calendar_repo import SACalendarRepo
from src.infra.repo.sa_context import SAContext


class Container(IContainer):
def compose(self) -> None:
# repository
self.register(SA("postgresql://qodot@localhost/lifecalendar", {}))
self.register(SAContext(self.resolve(SA)))
self.register(SACalendarRepo(self.resolve(SA)))

# application
self.register(
CreateCalendar(self.resolve(SAContext), self.resolve(SACalendarRepo))
)
12 changes: 4 additions & 8 deletions test/appl/test_create_calendar.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
import datetime

from src.appl.container import Container
from src.appl.create_calendar import CreateCalendar
from src.infra.db.mapper import map_between_model_and_schema
from src.infra.repo.sa import SA
from src.infra.repo.sa_calendar_repo import SACalendarRepo
from src.infra.repo.sa_context import SAContext


class TestCreateCalendar:
def test_run(self):
map_between_model_and_schema()

sa = SA("postgresql://qodot@localhost/lifecalendar", {})
db_context = SAContext(sa)
calendar_repo = SACalendarRepo(sa)
command = CreateCalendar(db_context, calendar_repo)
container = Container()
container.compose()
command = container.resolve(CreateCalendar)

name = "고도"
birthday = datetime.date(1988, 6, 21)
Expand Down

0 comments on commit 789882a

Please sign in to comment.