From ba246a4f91e27227e261229b34326aa47a764161 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sat, 18 Jul 2026 11:03:17 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B3=B5=ED=86=B5]=20util=20=E2=86=92=20frame?= =?UTF-8?q?work=20=EC=9C=A0=ED=8B=B8=20(ACM-CM-002)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/util/MessageUtilTest.java | 205 ++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 boot/common-framework/src/test/java/com/klaro/acquirecore/framework/util/MessageUtilTest.java diff --git a/boot/common-framework/src/test/java/com/klaro/acquirecore/framework/util/MessageUtilTest.java b/boot/common-framework/src/test/java/com/klaro/acquirecore/framework/util/MessageUtilTest.java new file mode 100644 index 0000000..10e04f4 --- /dev/null +++ b/boot/common-framework/src/test/java/com/klaro/acquirecore/framework/util/MessageUtilTest.java @@ -0,0 +1,205 @@ +package com.klaro.acquirecore.framework.util; + +import org.junit.jupiter.api.Test; + +import java.nio.charset.StandardCharsets; + +import static org.junit.jupiter.api.Assertions.*; + +class MessageUtilTest { + + @Test + void encodeBase64_encodesString() { + String input = "Hello, World!"; + String result = MessageUtil.encodeBase64(input); + assertEquals("SGVsbG8sIFdvcmxkIQ==", result); + } + + @Test + void decodeBase64_decodesString() { + String encoded = "SGVsbG8sIFdvcmxkIQ=="; + String result = MessageUtil.decodeBase64(encoded); + assertEquals("Hello, World!", result); + } + + @Test + void encodeBase64Url_encodesUrlSafe() { + String input = "Hello+World/Test"; + String result = MessageUtil.encodeBase64Url(input); + assertEquals("SGVsbG8rV29ybGQvVGVzdA==", result); + } + + @Test + void decodeBase64Url_decodesUrlSafe() { + String encoded = "SGVsbG8rV29ybGQvVGVzdA=="; + String result = MessageUtil.decodeBase64Url(encoded); + assertEquals("Hello+World/Test", result); + } + + @Test + void encodeHex_encodesBytesToHex() { + byte[] bytes = {(byte) 0x48, (byte) 0x65, (byte) 0x6c, (byte) 0x6c, (byte) 0x6f}; + String result = MessageUtil.encodeHex(bytes); + assertEquals("48656c6c6f", result); + } + + @Test + void decodeHex_decodesHexToBytes() { + String hex = "48656c6c6f"; + byte[] result = MessageUtil.decodeHex(hex); + assertArrayEquals(new byte[]{(byte) 0x48, (byte) 0x65, (byte) 0x6c, (byte) 0x6c, (byte) 0x6f}, result); + } + + @Test + void urlEncode_encodesString() { + String input = "Hello World"; + String result = MessageUtil.urlEncode(input); + assertEquals("Hello+World", result); + } + + @Test + void urlDecode_decodesString() { + String encoded = "Hello+World"; + String result = MessageUtil.urlDecode(encoded); + assertEquals("Hello World", result); + } + + @Test + void mask_masksMiddleCharacters() { + String input = "1234567890"; + String result = MessageUtil.mask(input); + assertEquals("1********0", result); + } + + @Test + void mask_withCustomShowCount_masksCorrectly() { + String input = "1234567890"; + String result = MessageUtil.mask(input, 2, 2); + assertEquals("12******90", result); + } + + @Test + void maskEmail_masksEmailCorrectly() { + String email = "test@example.com"; + String result = MessageUtil.maskEmail(email); + assertEquals("t***t@example.com", result); + } + + @Test + void maskPhone_masksPhoneCorrectly() { + String phone = "010-1234-5678"; + String result = MessageUtil.maskPhone(phone); + assertEquals("010-****-5678", result); + } + + @Test + void isValidEmail_withValidEmail_returnsTrue() { + assertTrue(MessageUtil.isValidEmail("test@example.com")); + assertTrue(MessageUtil.isValidEmail("user.name+tag@domain.co.kr")); + } + + @Test + void isValidEmail_withInvalidEmail_returnsFalse() { + assertFalse(MessageUtil.isValidEmail("invalid-email")); + assertFalse(MessageUtil.isValidEmail("@domain.com")); + assertFalse(MessageUtil.isValidEmail(null)); + } + + @Test + void isValidPhone_withValidPhone_returnsTrue() { + assertTrue(MessageUtil.isValidPhone("010-1234-5678")); + assertTrue(MessageUtil.isValidPhone("021234567")); + } + + @Test + void isValidKoreanPhone_withValidKoreanPhone_returnsTrue() { + assertTrue(MessageUtil.isValidKoreanPhone("010-1234-5678")); + assertTrue(MessageUtil.isValidKoreanPhone("016-123-4567")); + } + + @Test + void isEmpty_withNullOrEmpty_returnsTrue() { + assertTrue(MessageUtil.isEmpty(null)); + assertTrue(MessageUtil.isEmpty("")); + } + + @Test + void isEmpty_withNonEmpty_returnsFalse() { + assertFalse(MessageUtil.isEmpty("test")); + } + + @Test + void isBlank_withWhitespace_returnsTrue() { + assertTrue(MessageUtil.isBlank(" ")); + assertTrue(MessageUtil.isBlank(null)); + } + + @Test + void convertCharset_convertsCorrectly() { + String input = "안녕하세요"; + String result = MessageUtil.convertCharset(input, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); + assertNotNull(result); + } + + @Test + void truncate_truncatesLongString() { + String input = "This is a long string"; + String result = MessageUtil.truncate(input, 10); + assertEquals("This is a ", result); + } + + @Test + void truncate_withShortString_returnsOriginal() { + String input = "Short"; + String result = MessageUtil.truncate(input, 10); + assertEquals("Short", result); + } + + @Test + void padLeft_padsWithSpaces() { + String input = "123"; + String result = MessageUtil.padLeft(input, 10); + assertEquals(" 123", result); + } + + @Test + void padRight_padsWithSpaces() { + String input = "123"; + String result = MessageUtil.padRight(input, 10); + assertEquals("123 ", result); + } + + @Test + void zeroPad_padsWithZeros() { + long value = 123; + String result = MessageUtil.zeroPad(value, 10); + assertEquals("0000000123", result); + } + + @Test + void toBytes_convertsStringToBytes() { + String input = "Hello"; + byte[] result = MessageUtil.toBytes(input); + assertArrayEquals(new byte[]{72, 101, 108, 108, 111}, result); + } + + @Test + void toString_convertsBytesToString() { + byte[] bytes = {72, 101, 108, 108, 111}; + String result = MessageUtil.toString(bytes); + assertEquals("Hello", result); + } + + @Test + void encodeBase64_withKoreanCharacters_encodesCorrectly() { + String input = "안녕하세요"; + String encoded = MessageUtil.encodeBase64(input); + String decoded = MessageUtil.decodeBase64(encoded); + assertEquals(input, decoded); + } + + @Test + void decodeHex_withInvalidHex_throwsException() { + assertThrows(IllegalArgumentException.class, () -> MessageUtil.decodeHex("123")); + } +}