При разработке и тестировании программного обеспечения, ориентированного на польский рынок, одной из наиболее частых задач является валидация персональных идентификационных номеров. Функция pl_pesel, входящая в состав библиотеки mock-jutsu, предназначена для автоматической генерации корректных номеров PESEL (Powszechny Elektroniczny System Ewidencji Ludności). Эти тестовые данные критически важны для систем, работающих в сфере финтеха, страхования, здравоохранения и государственных услуг, где идентификатор личности является обязательным полем для регистрации и обработки транзакций.
Алгоритм, который использует функция pl_pesel, полностью соответствует официальному государственному стандарту Польши. Сгенерированное значение представляет собой 11-значное число, в котором первые шесть цифр кодируют дату рождения (год, месяц и день). Библиотека mock-jutsu учитывает специфические правила кодирования месяцев для разных столетий, что позволяет создавать реалистичные мок-данные для пользователей, родившихся в широком временном диапазоне. Последняя цифра номера является контрольной суммой, рассчитанной по алгоритму MOD-10 с использованием определенных весовых коэффициентов, что позволяет сгенерированным номерам успешно проходить любую встроенную проверку валидности на стороне фронтенда или бэкенда.
Интеграция функции pl_pesel в рабочий процесс разработчика максимально упрощена благодаря поддержке различных интерфейсов. Для быстрого получения данных в терминале достаточно выполнить команду mockjutsu generate pl_pesel. В рамках автоматизации тестирования на языке Python вызов jutsu.generate('pl_pesel') позволяет динамически создавать идентификаторы внутри тестовых сценариев или при наполнении баз данных. Кроме того, поддержка JMeter через конструкцию ${__mockjutsu(pl_pesel,)} открывает широкие возможности для проведения нагрузочного тестирования, имитируя регистрацию тысяч уникальных пользователей в режиме реального времени.
Использование функции pl_pesel в проекте дает разработчикам неоспоримые преимущества. Во-первых, это гарантирует высокую точность тестов, так как система работает с данными, идентичными реальным. Во-вторых, применение библиотеки mock-jutsu помогает соблюдать требования безопасности и конфиденциальности (включая стандарты GDPR), исключая необходимость использования реальных персональных данных в тестовых средах. В-третьих, автоматизация процесса генерации экономит время, которое раньше тратилось на ручной поиск или создание валидных номеров, позволяя команде сосредоточиться на разработке основной бизнес-логики приложения.
mockjutsu generate pl_peselmockjutsu bulk pl_pesel --count 10mockjutsu export pl_pesel --count 10 --format jsonmockjutsu export pl_pesel --count 10 --format csvmockjutsu export pl_pesel --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate pl_pesel --maskmockjutsu bulk pl_pesel --count 5 --maskfrom mockjutsu import jutsujutsu.generate('pl_pesel')jutsu.bulk('pl_pesel', count=10)jutsu.template(['pl_pesel'], count=5)# mask=True: regulation-compliant outputjutsu.generate('pl_pesel', mask=True)jutsu.bulk('pl_pesel', count=5, mask=True)${__mockjutsu_intl_ids(pl_pesel)}# JMeter Function: __mockjutsu_intl_ids# Parameter 1: pl_pesel# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_intl_ids(pl_pesel,mask)}GET /generate/pl_pesel# → {"type":"pl_pesel","result":"...","status":"ok"}GET /bulk/pl_pesel?count=10POST /template {"types":["pl_pesel"],"count":1}# mask=true: regulation-compliant outputGET /generate/pl_pesel?mask=trueGET /bulk/pl_pesel?count=5&mask=true| Параметр | Значения | Описание |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |