对比新文件 |
| | |
| | | package com.iailab.framework.desensitize.core; |
| | | |
| | | import com.iailab.framework.common.util.json.JsonUtils; |
| | | import com.iailab.framework.desensitize.core.regex.annotation.EmailDesensitize; |
| | | import com.iailab.framework.desensitize.core.regex.annotation.RegexDesensitize; |
| | | import com.iailab.framework.desensitize.core.annotation.Address; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.BankCardDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.CarLicenseDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.ChineseNameDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.IdCardDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.PasswordDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.MobileDesensitize; |
| | | import com.iailab.framework.desensitize.core.slider.annotation.SliderDesensitize; |
| | | import lombok.Data; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.junit.jupiter.api.extension.ExtendWith; |
| | | import org.mockito.junit.jupiter.MockitoExtension; |
| | | |
| | | import static org.junit.jupiter.api.Assertions.*; |
| | | |
| | | /** |
| | | * {@link DesensitizeTest} 的单元测试 |
| | | */ |
| | | @ExtendWith(MockitoExtension.class) |
| | | public class DesensitizeTest { |
| | | |
| | | @Test |
| | | public void test() { |
| | | // 准备参数 |
| | | DesensitizeDemo desensitizeDemo = new DesensitizeDemo(); |
| | | desensitizeDemo.setNickname("iailab"); |
| | | desensitizeDemo.setBankCard("9988002866797031"); |
| | | desensitizeDemo.setCarLicense("粤A66666"); |
| | | desensitizeDemo.setFixedPhone("01086551122"); |
| | | desensitizeDemo.setIdCard("530321199204074611"); |
| | | desensitizeDemo.setPassword("123456"); |
| | | desensitizeDemo.setPhoneNumber("13248765917"); |
| | | desensitizeDemo.setSlider1("ABCDEFG"); |
| | | desensitizeDemo.setSlider2("ABCDEFG"); |
| | | desensitizeDemo.setSlider3("ABCDEFG"); |
| | | desensitizeDemo.setEmail("1@email.com"); |
| | | desensitizeDemo.setRegex("你好,我是iailab"); |
| | | desensitizeDemo.setAddress("北京市海淀区上地十街10号"); |
| | | desensitizeDemo.setOrigin("iailab"); |
| | | |
| | | // 调用 |
| | | DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class); |
| | | // 断言 |
| | | assertNotNull(d); |
| | | assertEquals("芋***", d.getNickname()); |
| | | assertEquals("998800********31", d.getBankCard()); |
| | | assertEquals("粤A6***6", d.getCarLicense()); |
| | | assertEquals("0108*****22", d.getFixedPhone()); |
| | | assertEquals("530321**********11", d.getIdCard()); |
| | | assertEquals("******", d.getPassword()); |
| | | assertEquals("132****5917", d.getPhoneNumber()); |
| | | assertEquals("#######", d.getSlider1()); |
| | | assertEquals("ABC*EFG", d.getSlider2()); |
| | | assertEquals("*******", d.getSlider3()); |
| | | assertEquals("1****@email.com", d.getEmail()); |
| | | assertEquals("你好,我是*", d.getRegex()); |
| | | assertEquals("北京市海淀区上地十街10号*", d.getAddress()); |
| | | assertEquals("iailab", d.getOrigin()); |
| | | } |
| | | |
| | | @Data |
| | | public static class DesensitizeDemo { |
| | | |
| | | @ChineseNameDesensitize |
| | | private String nickname; |
| | | @BankCardDesensitize |
| | | private String bankCard; |
| | | @CarLicenseDesensitize |
| | | private String carLicense; |
| | | @FixedPhoneDesensitize |
| | | private String fixedPhone; |
| | | @IdCardDesensitize |
| | | private String idCard; |
| | | @PasswordDesensitize |
| | | private String password; |
| | | @MobileDesensitize |
| | | private String phoneNumber; |
| | | @SliderDesensitize(prefixKeep = 6, suffixKeep = 1, replacer = "#") |
| | | private String slider1; |
| | | @SliderDesensitize(prefixKeep = 3, suffixKeep = 3) |
| | | private String slider2; |
| | | @SliderDesensitize(prefixKeep = 10) |
| | | private String slider3; |
| | | @EmailDesensitize |
| | | private String email; |
| | | @RegexDesensitize(regex = "iailab", replacer = "*") |
| | | private String regex; |
| | | @Address |
| | | private String address; |
| | | private String origin; |
| | | |
| | | } |
| | | |
| | | } |