В процессе разработки программного обеспечения для финансового сектора, систем управления предприятием (ERP) или платформ электронной коммерции, работающих на рынке Великобритании, критически важным этапом является проверка корректности обработки идентификаторов юридических лиц. Одним из таких ключевых реквизитов является Company Registration Number (CRN) — уникальный номер, присваиваемый каждой компании Регистратором компаний (Companies House). Для обеспечения качественного тестирования без использования реальных конфиденциальных сведений библиотека mock-jutsu предлагает специализированную функцию crn, предназначенную для генерации валидных по формату идентификаторов.
Функция crn в составе mock-jutsu создает восьмизначные строки, которые полностью соответствуют стандартам британского государственного реестра. Алгоритм учитывает специфику формирования номеров: это могут быть как чисто числовые значения, так и комбинации с буквенными префиксами, характерными для компаний, зарегистрированных в Шотландии или Северной Ирландии. Использование таких реалистичных значений позволяет разработчикам и инженерам по качеству проверять регулярные выражения, маски ввода в пользовательских интерфейсах и логику валидации данных на стороне сервера, будучи уверенными, что тестовые данные ведут себя идентично настоящим.
Интеграция функции в рабочий процесс максимально упрощена и поддерживает различные сценарии использования. Если вам необходимо быстро получить значение в терминале для отладки, достаточно выполнить команду CLI: mockjutsu generate crn. При написании автоматизированных тестов на языке Python генерация выполняется через вызов метода jutsu.generate('crn'), что позволяет легко наполнять объекты или базы данных. Для специалистов по нагрузочному тестированию, работающих с Apache JMeter, предусмотрена поддержка через синтаксис ${__mockjutsu(crn,)}, что дает возможность имитировать тысячи запросов от различных компаний в рамках одного сценария.
Основные сценарии тестирования включают проверку интеграций с внешними API, тестирование процессов Know Your Customer (KYC) и заполнение демонстрационных стендов информацией о контрагентах. Использование mock-jutsu избавляет команду от необходимости вручную придумывать номера или искать их в открытых реестрах, что существенно ускоряет цикл разработки. Генерируемые мок-данные обеспечивают высокую степень покрытия тестами, предотвращая ошибки, связанные с некорректной длиной строки или недопустимыми символами в идентификаторах. В конечном итоге, функция crn становится незаменимым инструментом для создания надежных и отказоустойчивых бизнес-приложений, ориентированных на британский рынок.
mockjutsu generate crnmockjutsu bulk crn --count 10mockjutsu export crn --count 10 --format jsonmockjutsu export crn --count 10 --format csvmockjutsu export crn --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate crn --maskmockjutsu bulk crn --count 5 --maskfrom mockjutsu import jutsujutsu.generate('crn')jutsu.bulk('crn', count=10)jutsu.template(['crn'], count=5)# mask=True: regulation-compliant outputjutsu.generate('crn', mask=True)jutsu.bulk('crn', count=5, mask=True)${__mockjutsu_identity(crn)}# JMeter Function: __mockjutsu_identity# Parameter 1: crn# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_identity(crn,mask)}GET /generate/crn# → {"type":"crn","result":"...","status":"ok"}GET /bulk/crn?count=10POST /template {"types":["crn"],"count":1}# mask=true: regulation-compliant outputGET /generate/crn?mask=trueGET /bulk/crn?count=5&mask=true| Параметр | Значения | Описание |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |