diff --git a/src/main/resources/standard-layout-djb.csv b/src/main/resources/standard-layout-djb.csv index 11621d0..cc371f5 100644 --- a/src/main/resources/standard-layout-djb.csv +++ b/src/main/resources/standard-layout-djb.csv @@ -95,7 +95,7 @@ rprs_msg_cd,2,2,1,1,12,1,,, # ============================================================ # EZDATA - 전자금융공통영역 (corp_tlwn_virt_brcd=ERP 조건부) # ============================================================ -EZDATA,1,3,1,1,0,1,HEAD.corp_tlwn_virt_brcd,ERP, +EZDATA,1,3,0,1,0,1,HEAD.corp_tlwn_virt_brcd,ERP, login_mhod_dvcd,2,2,1,1,1,1,,, elfn_bnkn_dvcd,2,2,1,1,2,1,,,01 usr_no,2,2,1,1,16,1,,, diff --git a/src/test/java/com/eactive/eai/custom/message/StandardMessageEzdataJsonFlowTest.java b/src/test/java/com/eactive/eai/custom/message/StandardMessageEzdataJsonFlowTest.java index d3e8567..74cf19d 100644 --- a/src/test/java/com/eactive/eai/custom/message/StandardMessageEzdataJsonFlowTest.java +++ b/src/test/java/com/eactive/eai/custom/message/StandardMessageEzdataJsonFlowTest.java @@ -17,6 +17,7 @@ import com.eactive.eai.common.monitor.EAIServiceMonitor; import com.eactive.eai.common.property.PropManager; import com.eactive.eai.common.server.EAIServerManager; import com.eactive.eai.common.util.ApplicationContextProvider; +import com.eactive.eai.message.StandardItem; import com.eactive.eai.message.StandardMessage; import com.eactive.eai.message.manager.StandardMessageManager; import com.eactive.eai.message.parser.JsonReader; @@ -243,27 +244,26 @@ class StandardMessageEzdataJsonFlowTest { } // ================================================================ - // 3. EZDATA 조건 미충족(비ERP) — 입력값 미설정 검증 - // EZDATA 블록은 기본값으로 직렬화되므로, 입력 JSON에 없는 ERP 전용 - // 필드(usr_no, rgsr_id 등)는 파싱 후 빈 값(기본값)이어야 함 + // 3. EZDATA 조건 미충족(비ERP) — EZDATA 블록 직렬화 제외 검증 + // size=0 + refPath/refValue 조건 미충족 → isHidden=true → JSON 제외 // ================================================================ @Test - void 비ERP요청_파싱_EZDATA_usr_no_미설정() throws Exception { + void 비ERP요청_파싱_EZDATA_size_0() throws Exception { StandardMessage msg = parseNonErpReq(); - String usrNo = msg.findItemValue("EZDATA.usr_no"); - assertTrue(usrNo == null || usrNo.trim().isEmpty(), - "비ERP 요청에서 EZDATA.usr_no는 빈 값이어야 함: [" + usrNo + "]"); + StandardItem ezdataItem = msg.findItem("EZDATA"); + assertTrue(ezdataItem == null || ezdataItem.getSize() == 0, + "비ERP 요청에서 EZDATA 블록 size는 0이어야 함"); } @Test - void 비ERP요청_파싱_EZDATA_rgsr_id_미설정() throws Exception { + void 비ERP요청_파싱_JSON_직렬화_EZDATA_제외() throws Exception { StandardMessage msg = parseNonErpReq(); - String rgsrId = msg.findItemValue("EZDATA.rgsr_id"); - assertTrue(rgsrId == null || rgsrId.trim().isEmpty(), - "비ERP 요청에서 EZDATA.rgsr_id는 빈 값이어야 함: [" + rgsrId + "]"); + String json = msg.toJson(false, false); + JsonNode root = jacksonMapper.readTree(json); + assertFalse(root.has("EZDATA"), "비ERP 요청 직렬화 JSON에 EZDATA 블록이 없어야 함"); } @Test