From aae4898d18978e3dbc2569e700ca083aea052ca3 Mon Sep 17 00:00:00 2001 From: jade Date: Wed, 29 Jul 2026 11:02:10 +0900 Subject: [PATCH] feat: invoke Solgit MCI before returning dummy response --- .../impl/SolgitReqListUseCaseImpl.java | 7 +++- .../impl/SolgitReqListUseCaseImplTest.java | 39 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 dap-tool-oth/src/test/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImplTest.java diff --git a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImpl.java b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImpl.java index 4e77b1cd..b8fe8d53 100644 --- a/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImpl.java +++ b/dap-tool-oth/src/main/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImpl.java @@ -3,7 +3,6 @@ package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl; import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest; import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse; import io.shinhanlife.dap.mcc.biz.solgit.usecase.SolgitReqListUseCase; -import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent; import io.shinhanlife.glow.communication.dto.Transfer; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; @@ -13,6 +12,7 @@ import java.util.List; import java.util.ArrayList; import io.shinhanlife.dap.mcc.biz.solgit.converter.SolgitReqListConverter; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I; +import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O; import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient; import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse.SolgitReqListItem; @@ -42,6 +42,11 @@ public class SolgitReqListUseCaseImpl implements SolgitReqListUseCase { public Object execute(SolgitReqListRequest req) { log.info("[MCI Tool] {} 요청 수신. 파라미터: {}", "solgitReqList", req); try { + SOLG00000001_I mciRequest = converter.toLegacyRequest(req); + Transfer mciResponse = mci.callTo( + "SOLG00000001", "SOLG00000001", mciRequest, SOLG00000001_O.class); + log.info("[MCI Tool] SOLG00000001 MCI call completed. Returning dummy response: {}", + mciResponse != null); // 현업 테스트용으로 MCI 통신을 바이패스하고 하드코딩된 결과를 반환합니다. SolgitReqListResponse res = new SolgitReqListResponse(); List list = new ArrayList<>(); diff --git a/dap-tool-oth/src/test/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImplTest.java b/dap-tool-oth/src/test/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImplTest.java new file mode 100644 index 00000000..09f7a9f2 --- /dev/null +++ b/dap-tool-oth/src/test/java/io/shinhanlife/dap/mcc/biz/solgit/usecase/impl/SolgitReqListUseCaseImplTest.java @@ -0,0 +1,39 @@ +package io.shinhanlife.dap.mcc.biz.solgit.usecase.impl; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import io.shinhanlife.dap.mcc.biz.solgit.converter.SolgitReqListConverter; +import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListRequest; +import io.shinhanlife.dap.mcc.biz.solgit.dto.SolgitReqListResponse; +import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.MciNclgClient; +import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_I; +import io.shinhanlife.dap.mcc.infra.itrf.mci.ncl.g.io.SOLG00000001_O; +import io.shinhanlife.glow.communication.dto.Transfer; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +class SolgitReqListUseCaseImplTest { + + @Test + void callsMciWithConvertedRequestAndReturnsDummyResponse() throws Exception { + MciNclgClient mci = Mockito.mock(MciNclgClient.class); + SolgitReqListConverter converter = Mockito.mock(SolgitReqListConverter.class); + SolgitReqListUseCaseImpl useCase = new SolgitReqListUseCaseImpl(mci, converter); + SolgitReqListRequest request = new SolgitReqListRequest(); + SOLG00000001_I mciRequest = new SOLG00000001_I(); + + when(converter.toLegacyRequest(request)).thenReturn(mciRequest); + when(mci.callTo(eq("SOLG00000001"), eq("SOLG00000001"), eq(mciRequest), eq(SOLG00000001_O.class))) + .thenReturn(new Transfer<>()); + + SolgitReqListResponse response = (SolgitReqListResponse) useCase.execute(request); + + verify(converter).toLegacyRequest(request); + verify(mci).callTo("SOLG00000001", "SOLG00000001", mciRequest, SOLG00000001_O.class); + assertThat(response.getReqList()).extracting(SolgitReqListResponse.SolgitReqListItem::getSrId) + .containsExactly("SR-2026-001", "SR-2026-002"); + } +}