[BE-30D] 우리은행 잡코리아 회사 종속형 소스 등록 · 오케스트레이션 편입 재검증
상태: 설계 완료 (designed). 근거 TDD:
20260727-jobkorea-dual-source-type-tdd.md“Release Scenario”.
작업 내용 (설계 의도)
근거 TDD: 20260727-jobkorea-dual-source-type-tdd.md
근거: BE-21 기동 검증 케이스 6 (우리은행 2건 = 인크루트 + 잡코리아)
변경 사항
모델링(BE-30)과 어댑터(BE-30C)가 준비된 뒤, 우리은행 잡코리아 채용관을 회사 종속형 소스로 실제 등록하고 수집 오케스트레이션(BE-10)에 정상 편입되는지 재검증합니다. 코드 신규 로직은 거의 없고(BE-10 수집 루프가 활성 소스를 유형 무관하게 순회) 데이터 시드 + 검증이 본체입니다.
- 우리은행 회사에
forCompany(JOBKOREA, "wooribank", "https://jrs.jobkorea.co.kr/wooribank")소스 1건 등록(초기 등록 절차 편입). - BE-10 수집 회차에서 이 소스가
JobSourceGatewayImpl→JobkoreaCompanyBoundAdapter로 라우팅돼 수집되는지 시나리오 테스트. - 시딩 회차는 알림 없이 저장(
notificationEligible=false, BE-10 FR-10) 확인. - BE-21 케이스 6 재현: “우리은행 2건 등록”이 200으로 성립.
롤백: disable()로 소스 소프트 오프. 오케스트레이션 편입 이상 시 posting.auto-close=false로 마감 판정 동결.
의존
- BE-30 (등록 언블로커)
- BE-30C (수집 어댑터)
- BE-10 (수집 오케스트레이션 — 활성 소스 순회)
다이어그램
처리 흐름
sequenceDiagram participant Reg as 초기 등록 절차 participant DS as CompanyDomainService participant Sched as CollectionScheduler participant G as JobSourceGatewayImpl Reg->>DS: 우리은행 + 잡코리아 회사 종속형 소스 DS-->>Reg: 200 (BE-30 언블로커) Sched->>G: collect(CompanyBound wooribank) G-->>Sched: Fetched — 시딩 회차 저장(알림 제외)
클래스 의존
flowchart LR Reg[초기 등록] --> DS[CompanyDomainService] DS --> Source[JobSource forCompany JOBKOREA] Sched[CollectionScheduler] --> UC[CollectJobPostingsUseCase] UC --> Gateway[JobSourceGatewayImpl]
테스트 케이스
- 우리은행 잡코리아 회사 종속형 소스 등록이 200으로 성공한다 (BE-21 케이스 6)
- 우리은행이 인크루트 + 잡코리아 2개 활성 소스를 갖는다 (Company:JobSource = 1:N)
- 수집 회차에서 잡코리아 회사 종속형 소스가 JRS 어댑터로 라우팅돼 공고가 저장된다
- 잡코리아 소스의 첫 수집(시딩)은
notificationEligible=false로 저장되고 알림이 발생하지 않는다 - 어댑터가 0건/실패를 반환해도 소스 가드로 기존 공고가 CLOSED되지 않는다
disable()후 그 소스는 수집 대상에서 제외된다