Files
eapim-online/src/test/java/com/eactive/eai/custom/message/StandardLayoutDJBTest.java
T
curry772 bc79b8b166 fix: msg_list → MSG_LIST 대문자 통일 및 rowcnt 값 정수 표기 수정
- standard-layout-djb.csv: msg_list → MSG_LIST 로 변경
- StandardMessageCoordinatorDJB: MSG_LIST 상수 경로 수정,
  msg_list_rowcnt 설정값 "00001" → "1" (NUMBER 타입에 선행 0 불필요)
- StandardLayoutDJBTest: findItem 경로 MSG.msg_list → MSG.MSG_LIST
- StandardMessageSpecTest: JSON 경로 msg_list → MSG_LIST

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 13:39:53 +09:00

159 lines
5.2 KiB
Java

package com.eactive.eai.custom.message;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import com.eactive.eai.message.StandardItem;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.StandardMessageUtil;
/**
* standard-layout-djb.csv 로드 및 전문 구조 검증
*/
class StandardLayoutDJBTest {
private StandardMessage message;
@BeforeEach
void setUp() {
message = StandardMessageUtil.generateMessageFromCsvFile(
"src/main/resources/standard-layout-djb.csv");
assertNotNull(message, "standard-layout-djb.csv 로드 실패");
message.setReadPosition(0);
}
// ----------------------------------------------------------------
// 최상위 블록 존재 여부
// ----------------------------------------------------------------
@Test
void HEAD_블록_존재() {
assertNotNull(message.findItem("HEAD"), "HEAD 블록 없음");
}
@Test
void EZDATA_블록_존재() {
assertNotNull(message.findItem("EZDATA"), "EZDATA 블록 없음");
}
@Test
void MSG_블록_존재() {
assertNotNull(message.findItem("MSG"), "MSG 블록 없음");
}
@Test
void DATA_블록_존재() {
assertNotNull(message.findItem("DATA"), "DATA 블록 없음");
}
// ----------------------------------------------------------------
// HEAD 핵심 필드 검증
// ----------------------------------------------------------------
@Test
void HEAD_guid_필드_존재_및_길이40() {
StandardItem guidItem = message.findItem("HEAD.guid");
assertNotNull(guidItem, "HEAD.guid 필드 없음");
assertEquals(40, guidItem.getLength(), "HEAD.guid 길이는 40자여야 함");
}
@Test
void HEAD_guid_prgs_no_필드_존재() {
StandardItem item = message.findItem("HEAD.guid_prgs_no");
assertNotNull(item, "HEAD.guid_prgs_no 필드 없음");
assertEquals(3, item.getLength());
}
@Test
void HEAD_nxgn_stnd_idfr_기본값_JERA() {
StandardItem item = message.findItem("HEAD.nxgn_stnd_idfr");
assertNotNull(item, "HEAD.nxgn_stnd_idfr 필드 없음");
assertEquals(4, item.getLength());
assertEquals("JERA", item.getValue());
}
@Test
void HEAD_ortr_guid_필드_존재_및_길이40() {
StandardItem item = message.findItem("HEAD.ortr_guid");
assertNotNull(item, "HEAD.ortr_guid 필드 없음");
assertEquals(40, item.getLength());
}
@Test
void HEAD_if_id_필드_길이30() {
StandardItem item = message.findItem("HEAD.if_id");
assertNotNull(item, "HEAD.if_id 필드 없음");
assertEquals(30, item.getLength(), "HEAD.if_id 길이는 30자여야 함 (기존 20자에서 변경)");
}
@Test
void HEAD_dman_rspn_dvcd_기본값_S() {
StandardItem item = message.findItem("HEAD.dman_rspn_dvcd");
assertNotNull(item, "HEAD.dman_rspn_dvcd 필드 없음");
assertEquals("S", item.getValue());
}
@Test
void HEAD_procs_rslt_dvcd_기본값_S() {
StandardItem item = message.findItem("HEAD.procs_rslt_dvcd");
assertNotNull(item, "HEAD.procs_rslt_dvcd 필드 없음");
assertEquals("S", item.getValue());
}
@Test
void HEAD_trnm_sys_dvcd_기본값_EAI() {
StandardItem item = message.findItem("HEAD.trnm_sys_dvcd");
assertNotNull(item, "HEAD.trnm_sys_dvcd 필드 없음");
assertEquals("EAI", item.getValue());
}
// ----------------------------------------------------------------
// MSG 영역 구조 검증
// ----------------------------------------------------------------
@Test
void MSG_MAIN_MSG_블록_존재() {
assertNotNull(message.findItem("MSG.MAIN_MSG"), "MSG.MAIN_MSG 블록 없음");
}
@Test
void MSG_outp_msg_cd_길이12() {
StandardItem item = message.findItem("MSG.MAIN_MSG.outp_msg_cd");
assertNotNull(item, "MSG.MAIN_MSG.outp_msg_cd 필드 없음");
assertEquals(12, item.getLength());
}
@Test
void MSG_MSG_LIST_Grid_존재() {
assertNotNull(message.findItem("MSG.MSG_LIST"), "MSG.MSG_LIST Grid 없음");
}
// ----------------------------------------------------------------
// DATA 영역 구조 검증
// ----------------------------------------------------------------
@Test
void DATA_BIZ_DATA_존재() {
assertNotNull(message.findItem("DATA.BIZ_DATA"), "DATA.BIZ_DATA 없음");
}
// ----------------------------------------------------------------
// setData / findItemValue 기본 동작
// ----------------------------------------------------------------
@Test
void HEAD_필드_setData_findItemValue() {
String guid40 = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; // 40자
message.setData("HEAD.guid", guid40);
assertEquals(guid40, message.findItemValue("HEAD.guid"));
}
@Test
void MSG_필드_setData_findItemValue() {
message.setData("MSG.MAIN_MSG.outp_msg_ctnt", "테스트오류메시지");
assertEquals("테스트오류메시지", message.findItemValue("MSG.MAIN_MSG.outp_msg_ctnt"));
}
}