[매입] mg_recv_svc → 전문수신 @Service (ACM-MG-004)
Some checks failed
ci / test (pull_request) Failing after 8s

This commit is contained in:
forge-bot 2026-07-18 11:05:38 +00:00
parent 78dab9c159
commit 2eb0ef7f6e

View file

@ -0,0 +1,70 @@
package com.klaro.acquirecore.acquiring.codec;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class MessageCodecTest {
private MessageCodec codec;
@BeforeEach
void setUp() {
codec = new MessageCodec();
}
@Test
void unpack_validMessage_parsesCorrectly() {
// given
String raw = "MSGT123456789012TX01MER00001 1234567890123456789000000012340A12345678ETX";
byte[] rawMessage = raw.getBytes();
// when
ParsedMessage parsed = codec.unpack(rawMessage);
// then
assertEquals("MSGT", parsed.getMessageType());
assertEquals("123456789012", parsed.getTxId());
assertEquals("TX01", parsed.getTxCode());
assertEquals("MER00001", parsed.getMerchantId());
assertEquals("12345678901234567890", parsed.getCardNumber());
assertEquals("0000001234", parsed.getAmount());
assertEquals("A12345678", parsed.getApprovalCode());
assertEquals("ETX", parsed.getTrailer());
}
@Test
void unpack_nullMessage_throwsException() {
assertThrows(IllegalArgumentException.class, () -> codec.unpack(null));
}
@Test
void unpack_shortMessage_throwsException() {
byte[] shortMessage = new byte[10];
assertThrows(IllegalArgumentException.class, () -> codec.unpack(shortMessage));
}
@Test
void pack_validMessage_packsCorrectly() {
// given
ParsedMessage parsed = new ParsedMessage();
parsed.setMessageType("MSGT");
parsed.setTxId("123456789012");
parsed.setTxCode("TX01");
parsed.setMerchantId("MER00001");
parsed.setCardNumber("12345678901234567890");
parsed.setAmount("0000001234");
parsed.setApprovalCode("A12345678");
// when
byte[] packed = codec.pack(parsed);
// then
assertNotNull(packed);
assertTrue(packed.length > 0);
String packedStr = new String(packed);
assertTrue(packedStr.startsWith("MSGT"));
assertTrue(packedStr.endsWith("ETX"));
}
}