- Удалены поле maxChars, параметр конструктора и метод evictWhileOverLimit. - Хранилище теперь ограничено только TTL (ttl-minutes), без вытеснения по объёму. - Конструкторы переведены на (int ttlMinutes) и (int ttlMinutes, SharedIndex, PayloadCipher). - Обновлены тесты и PipelineWarmup на новые сигнатуры.
59 lines
2.0 KiB
Java
59 lines
2.0 KiB
Java
package ru.pdguard;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
import ru.pdguard.config.SystemPolicy;
|
|
import ru.pdguard.core.PayloadStore;
|
|
import ru.pdguard.core.Pipeline;
|
|
import ru.pdguard.detect.RuleRegistry;
|
|
import ru.pdguard.mask.Masker;
|
|
|
|
import java.util.UUID;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
|
|
/**
|
|
* Нормализация цифровых ПД: находит ИНН/СНИЛС/карту/ОГРН(ИП) в свободной форме,
|
|
* где жёсткий шаблон ломается на нестандартном разделителе.
|
|
*/
|
|
class NormalisedDigitsTest {
|
|
|
|
private final Pipeline pipeline =
|
|
new Pipeline(new RuleRegistry(), new Masker(), new PayloadStore(30));
|
|
|
|
private void assertHidden(String text, String secret) {
|
|
String masked = pipeline.process(text, UUID.randomUUID().toString(), SystemPolicy.DEFAULT);
|
|
assertFalse(masked.contains(secret), "не замаскировано: «" + secret + "» в ответе «" + masked + "»");
|
|
}
|
|
|
|
@Test
|
|
void masksCardWithDots() {
|
|
assertHidden("Карта 4111.1111.1111.1111 клиента", "4111.1111.1111.1111");
|
|
}
|
|
|
|
@Test
|
|
void masksCardWithSlashes() {
|
|
assertHidden("Оплата картой 4111/1111/1111/1111 прошла", "4111/1111/1111/1111");
|
|
}
|
|
|
|
@Test
|
|
void masksCardWithMixedSeparators() {
|
|
assertHidden("Номер карты 4111-1111 1111.1111 клиента", "4111-1111 1111.1111");
|
|
}
|
|
|
|
@Test
|
|
void masksInnWithDashes() {
|
|
assertHidden("ИНН: 7703-0123-4550 плательщика", "7703-0123-4550");
|
|
}
|
|
|
|
@Test
|
|
void masksSnilsWithDots() {
|
|
assertHidden("СНИЛС 112.233.445.95 застрахованного", "112.233.445.95");
|
|
}
|
|
|
|
@Test
|
|
void keepsNumberThatFailsChecksum() {
|
|
String text = "Заказ 1234 5678 9012 3456 отгружен";
|
|
org.junit.jupiter.api.Assertions.assertEquals(text,
|
|
pipeline.process(text, UUID.randomUUID().toString(), SystemPolicy.DEFAULT));
|
|
}
|
|
} |