- admin: elink-online-core 표준 위임(e메일/이름/전화/IP)으로 규칙 일원화 - portal/JS: 표준 로직 직접 구현 + 기존 owner 비마스킹 유지 - 호출처 무수정/인라인 중복 제거/테스트 통과
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
package com.eactive.eai.rms.onl.apim.masking;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* eapim-admin {@link MaskingUtils}가 보안아키텍처 표준 규칙(elink-online-core)으로
|
||||
* 위임되어 동작하는지 검증한다.
|
||||
*/
|
||||
class MaskingUtilsTest {
|
||||
|
||||
// --- 이메일 (maskEmailId) ---
|
||||
|
||||
@Test
|
||||
@DisplayName("이메일 — 아이디 앞2·뒤2 마스킹")
|
||||
void maskEmailId_normal() {
|
||||
assertEquals("**st1**@test.com", MaskingUtils.maskEmailId("test123@test.com"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이메일 — 아이디 4자: 전체 마스킹")
|
||||
void maskEmailId_fourChars() {
|
||||
assertEquals("****@test.com", MaskingUtils.maskEmailId("test@test.com"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이메일 — 아이디 1자: 전체 마스킹")
|
||||
void maskEmailId_oneChar() {
|
||||
assertEquals("*@123.com", MaskingUtils.maskEmailId("1@123.com"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이메일 — @ 없으면 원본 / null·빈문자 방어")
|
||||
void maskEmailId_invalidAndNull() {
|
||||
assertEquals("notanemail", MaskingUtils.maskEmailId("notanemail"));
|
||||
assertNull(MaskingUtils.maskEmailId(null));
|
||||
assertEquals("", MaskingUtils.maskEmailId(""));
|
||||
}
|
||||
|
||||
// --- 이름 (maskName) ---
|
||||
|
||||
@Test
|
||||
@DisplayName("이름 — 2자: 뒤 1자리")
|
||||
void maskName_2chars() {
|
||||
assertEquals("가*", MaskingUtils.maskName("가나"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이름 — 3자: 가운데 1자리")
|
||||
void maskName_3chars() {
|
||||
assertEquals("가*다", MaskingUtils.maskName("가나다"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이름 — 4자: 앞뒤 제외 가운데 전체")
|
||||
void maskName_4chars() {
|
||||
assertEquals("가**라", MaskingUtils.maskName("가나다라"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이름 — 5자: 앞뒤 제외 가운데 전체")
|
||||
void maskName_5chars() {
|
||||
assertEquals("가***마", MaskingUtils.maskName("가나다라마"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("이름 — 1자/null/빈문자 방어")
|
||||
void maskName_oneAndNull() {
|
||||
assertEquals("가", MaskingUtils.maskName("가"));
|
||||
assertNull(MaskingUtils.maskName(null));
|
||||
assertEquals("", MaskingUtils.maskName(""));
|
||||
}
|
||||
|
||||
// --- 전화/휴대폰/Fax (maskPhoneNumber) ---
|
||||
|
||||
@Test
|
||||
@DisplayName("전화 — 2·3번째 세그먼트 각 뒤 2자리")
|
||||
void maskPhoneNumber_normal() {
|
||||
assertEquals("010-12**-12**", MaskingUtils.maskPhoneNumber("010-1234-1234"));
|
||||
assertEquals("064-12**-56**", MaskingUtils.maskPhoneNumber("064-1234-5678"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("전화 — 하이픈 없는 11자리")
|
||||
void maskPhoneNumber_noHyphen() {
|
||||
assertEquals("01012**56**", MaskingUtils.maskPhoneNumber("01012345678"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("전화 — null/빈문자 방어")
|
||||
void maskPhoneNumber_null() {
|
||||
assertNull(MaskingUtils.maskPhoneNumber(null));
|
||||
assertEquals("", MaskingUtils.maskPhoneNumber(""));
|
||||
}
|
||||
|
||||
// --- IP (maskIpAddress) ---
|
||||
|
||||
@Test
|
||||
@DisplayName("IPv4 — 3번째 옥텟 마스킹")
|
||||
void maskIpAddress_ipv4() {
|
||||
assertEquals("172.0.***.1", MaskingUtils.maskIpAddress("172.0.0.1"));
|
||||
assertEquals("192.168.***.1", MaskingUtils.maskIpAddress("192.168.100.1"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("IPv6 — 마지막 그룹 마스킹")
|
||||
void maskIpAddress_ipv6() {
|
||||
assertEquals(
|
||||
"AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:0000:****",
|
||||
MaskingUtils.maskIpAddress("AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:0000:1111"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("IP — 쉼표 구분 다중 IPv4")
|
||||
void maskIpAddress_multiple() {
|
||||
assertEquals("192.168.***.1,10.0.***.2", MaskingUtils.maskIpAddress("192.168.100.1,10.0.0.2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("IP — null/빈문자 방어")
|
||||
void maskIpAddress_null() {
|
||||
assertNull(MaskingUtils.maskIpAddress(null));
|
||||
assertEquals("", MaskingUtils.maskIpAddress(""));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user