DEV Community

Altan Sezer Ayan
Altan Sezer Ayan

Posted on

Stop hardcoding test data — generate 395+ realistic banking & fintech values instantly

If you've ever written a test for a banking or fintech app, you know the pain:

  • Hardcoded IBANs that fail format validation
  • Fake credit card numbers that get rejected by Luhn checks
  • SSN/national ID values that don't match country-specific rules - Copy-pasted test data that leaks into logs I spent 12 years as a QA Manager in fintech dealing with this. So I built Mock Jutsu — an open-source synthetic test data generator with 395+ data types, zero external dependencies.

## What it generates

  • Banking: IBAN (MOD-97 valid), BIC, SWIFT, routing numbers, sort codes
  • Cards: Luhn-valid card numbers, CVV, expiry, masked PAN
  • Identity: SSN (US), NIN (UK), SIN (CA), TCKN (TR), 45 countries total
  • Capital markets: ISIN, CUSIP, SEDOL, LEI, FIGI, FIX messages
  • Crypto: Bitcoin, Ethereum, USDT addresses
  • Health, IoT, E-commerce and more

## Installation

  pip install mock-jutsu
Enter fullscreen mode Exit fullscreen mode

## CLI usage

  mockjutsu generate iban --locale TR
  mockjutsu generate cardnum --locale US
  mockjutsu generate tckn
  mockjutsu generate iban --locale TR --mask
  mockjutsu bulk tckn --count 100
  mockjutsu template iban fullname cardnum --count 50 --locale TR
Enter fullscreen mode Exit fullscreen mode

## Python usage

  from mockjutsu.core import jutsu

  jutsu.generate("iban", locale="TR")
  jutsu.generate("cardnum", locale="US")
  jutsu.generate("tckn")
  jutsu.generate("ssn")
  jutsu.generate("cardnum", locale="US", mask=True)
Enter fullscreen mode Exit fullscreen mode

## Compliance-safe masked output

For PCI DSS, GDPR, and KVKK scenarios, every sensitive type supports masking:

  jutsu.generate("cardnum", mask=True)   # ************3456
  jutsu.generate("iban", mask=True)      # TR33******786457841326
  jutsu.generate("tckn", mask=True)      # 348******54
Enter fullscreen mode Exit fullscreen mode

## Export formats

  mockjutsu bulk iban --count 1000
  mockjutsu bulk cardnum --count 500
  mockjutsu template iban fullname ssn --count 200 --format json
Enter fullscreen mode Exit fullscreen mode

## Full docs

HOW-TO pages for all 395 types in 5 languages (EN, TR, DE, FR, RU):
👉 https://altansayan.github.io/mock-jutsu-api/


What test data types are you still generating manually? Happy to add them.

Top comments (0)