В экосистеме современной финтех-разработки качественные мок-данные играют решающую роль в обеспечении стабильности и безопасности платежных систем. Функция atm_session, входящая в категорию CardPhysics библиотеки mock-jutsu, представляет собой мощный инструмент для генерации детализированных записей транзакционных сессий банкоматов. Она позволяет имитировать полный цикл взаимодействия между терминалом и хостом, предоставляя разработчикам структурированные JSON-объекты, которые выглядят и ведут себя как реальные банковские сообщения, но при этом абсолютно безопасны для использования в открытых средах разработки и тестирования.
Каждая запись, создаваемая через atm_session, включает в себя критически важные поля, такие как уникальный идентификатор сессии session_id, номер терминала и маскированный PAN, соответствующий правилам безопасности PCI DSS. Особое внимание уделено техническим деталям протокола EMV: генератор формирует реалистичные значения криптограмм ARQC (Authorization Request Cryptogram) и счетчиков транзакций ATC (Application Transaction Counter). Это позволяет тестировать не только корректность парсинга JSON, но и сложную бизнес-логику, связанную с проверкой последовательности операций и валидацией криптографических меток. Благодаря соблюдению форматов, близких к индустриальному стандарту ISO 8583, эти тестовые данные идеально подходят для отладки систем антифрода и модулей авторизации.
Инструментарий mock-jutsu спроектирован с учетом потребностей различных специалистов в команде. Для быстрой генерации единичных примеров в консоли предусмотрена CLI-команда mockjutsu generate atm_session, которая мгновенно выдает готовую структуру данных. В рамках автоматизации тестирования на языке Python интеграция происходит через лаконичный вызов jutsu.generate('atm_session'), что позволяет динамически наполнять объекты тестов актуальной информацией. Кроме того, нативная поддержка популярного инструмента JMeter через конструкцию ${__mockjutsu(atm_session,)} делает библиотеку незаменимым помощником при проведении нагрузочных испытаний, когда требуется генерировать тысячи уникальных и валидных сессий в секунду для имитации реальной активности пользователей банкоматной сети.
Основное преимущество использования atm_session заключается в возможности создания воспроизводимых и контролируемых сценариев тестирования. Вы можете легко моделировать различные коды ответов (response code), проверяя реакцию системы на успешные транзакции, нехватку средств или специфические технические сбои. Использование mock-jutsu избавляет инженерные команды от необходимости деперсонализации реальных банковских дампов, что существенно снижает риски нарушения конфиденциальности и упрощает соблюдение регуляторных требований. В конечном итоге это значительно ускоряет процесс вывода продукта на рынок, гарантируя, что программное обеспечение банкоматов и серверные компоненты работают безупречно в любых условиях эксплуатации.
mockjutsu generate atm_session --locale TRmockjutsu generate atm_session --locale DEmockjutsu bulk atm_session --count 10 --locale TRmockjutsu export atm_session --count 10 --format json --locale TRmockjutsu export atm_session --count 10 --format csv --locale TRmockjutsu export atm_session --count 10 --format sql --locale TR# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate atm_session --locale TR --maskmockjutsu bulk atm_session --count 5 --locale TR --maskfrom mockjutsu import jutsujutsu.generate('atm_session', locale='TR')jutsu.bulk('atm_session', count=10, locale='TR')jutsu.template(['atm_session'], count=5, locale='TR')# with --locale parameterjutsu.generate('atm_session', locale='TR', locale='TR')# mask=True: regulation-compliant outputjutsu.generate('atm_session', locale='TR', mask=True)jutsu.bulk('atm_session', count=5, locale='TR', mask=True)${__mockjutsu_cardphysics(atm_session,TR)}# JMeter Function: __mockjutsu_cardphysics# Parameter 1: atm_session# Parameter 2: locale (TR/UK/US/DE/FR/RU)${__mockjutsu_cardphysics(atm_session,DE)}# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_cardphysics(atm_session,TR,mask)}GET /generate/atm_session?locale=TR# → {"type":"atm_session","result":"...","status":"ok"}GET /bulk/atm_session?count=10&locale=TRPOST /template {"types":["atm_session"],"count":1,"locale":"TR"}# mask=true: regulation-compliant outputGET /generate/atm_session?locale=TR&mask=trueGET /bulk/atm_session?count=5&locale=TR&mask=trueПараметры
| Параметр | Значения | Описание |
|---|---|---|
| --locale | TR|UK|US|DE|FR|RU | Region / locale for locale-aware output |
| --locale | TR|UK|US|DE|FR|RU | Region / locale for locale-aware output |
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |
Примеры вывода
{"session_id": "MOCKJ-ATM-827F28A7", "terminal_id": "MOCKJT94", "terminal_location": "MOCKJ Bank Branch 5", "card_scheme": "VISA", "masked_pan": "4626 **** **** 0031", "expiry": "06/31", "transaction_type": "MINI_STATEMENT", "amount": "3984.09", "currency": "RUB", "response_code": "00", "response_message": "APPROVED", "auth_code": "MOCKJ3", "atc": "0FB0", "arqc": "3396F65ED9EE1FF1", "stan": "509158", "timestamp": "2026-06-28T02:22:04"}Правила валидации
- Генерируется Mock Jutsu по реальным форматным спецификациям
- Все значения полностью синтетические
- Для разработки, тестирования и демонстрации