La bibliothèque mock-jutsu s'impose comme un outil indispensable pour les développeurs et ingénieurs QA travaillant sur des systèmes financiers et comptables complexes. Parmi ses fonctionnalités les plus pointues, la fonction ubl_invoice permet de générer des données fictives rigoureusement conformes à la norme internationale OASIS UBL 2.1. Cette fonction est spécifiquement calibrée pour répondre aux exigences du format turc GIB e-fatura, garantissant ainsi que les documents produits respectent les structures XML attendues par les autorités fiscales et les systèmes ERP modernes.
L'algorithme interne de ubl_invoice assure une cohérence mathématique absolue, un aspect critique pour des données de test de haute qualité. Chaque facture générée calcule automatiquement l'équation comptable où le montant net additionné aux taxes (TaxTotal) égale le montant brut final (LegalMonetaryTotal). La fonction produit de manière aléatoire entre un et cinq articles de ligne par document, tout en attribuant des identifiants structurés selon le masque INV-YYYY-NNNNN et des UUID en majuscules. Cette précision permet de simuler des flux de facturation réalistes sans les erreurs de calcul manuelles qui corrompent souvent les environnements de test.
L'intégration de cette fonctionnalité dans un flux de travail est d'une simplicité remarquable grâce à la polyvalence de mock-jutsu. Les développeurs Python peuvent appeler jutsu.generate('ubl_invoice') pour obtenir instantanément un objet contenant le XML et ses métadonnées. Pour les tests de performance et de montée en charge, l'extension JMeter dédiée permet d'injecter des milliers de factures uniques via la syntaxe ${__mockjutsu(ubl_invoice,)}. Enfin, l'interface en ligne de commande (CLI) offre une solution rapide pour générer des fichiers de démonstration ou alimenter des scripts shell en une seule instruction.
En utilisant ubl_invoice, les équipes techniques bénéficient d'un gain de temps considérable lors de la phase de validation des parseurs XML et des moteurs de transformation de données. Au lieu de créer manuellement des fichiers complexes, elles disposent de données fictives robustes pour tester la gestion des devises comme la livre turque (TRY), la validation des taux de taxe ou l'archivage électronique. C'est l'atout majeur de mock-jutsu : transformer une tâche de conformité fastidieuse en un processus automatisé, fiable et parfaitement adapté aux cycles de développement agiles.
mockjutsu generate ubl_invoicemockjutsu bulk ubl_invoice --count 10mockjutsu export ubl_invoice --count 10 --format jsonmockjutsu export ubl_invoice --count 10 --format csvmockjutsu export ubl_invoice --count 10 --format sqlfrom mockjutsu import jutsujutsu.generate('ubl_invoice')jutsu.bulk('ubl_invoice', count=10)jutsu.template(['ubl_invoice'], count=5)${__mockjutsu_ubl(ubl_invoice)}# JMeter Function: __mockjutsu_ubl# Parameter 1: ubl_invoice# Parameter 2: (not required for this function)GET /generate/ubl_invoice# → {"type":"ubl_invoice","result":"...","status":"ok"}GET /bulk/ubl_invoice?count=10POST /template {"types":["ubl_invoice"],"count":1}