Skip to main content

Vue d’ensemble

Tester une API L402 comporte deux niveaux :
  1. Tests unitaires / d’intégration — vérifier la logique de votre middleware sans vrais paiements Lightning
  2. Tests de bout en bout — vérifier le flux complet avec un vrai portefeuille et de vrais sats

Tests unitaires — simuler le fournisseur

Passez un LightningProvider simulé pour contourner entièrement Lightning :

Générer un preimage valide pour les tests


Python — pytest avec fournisseur simulé


Tester la protection contre la réutilisation

Vérifiez qu’un preimage ne peut pas être réutilisé :

Pipeline CI

Utilisez le fournisseur simulé en CI — aucun nœud Lightning ni clé API requise :
Conditionnez la sélection de votre fournisseur selon l’environnement :

Test de bout en bout avec de vrais sats

Pour un test complet du flux de paiement (staging/pré-lancement) :
  1. Définissez priceSats: 1 — coûte environ $0,0008 par exécution de test
  2. Utilisez le bac à sable OpenNode (testMode: true) pour payer sans argent réel :
  3. Ou utilisez votre portefeuille Blink — les paiements de 1 sat sont pratiquement gratuits

E2E automatisé avec un portefeuille de test


Liste de vérification avant la mise en production

1

Les tests unitaires passent avec le fournisseur simulé

Flux 402 → paiement → 200 vérifié. Protection contre la réutilisation vérifiée (deuxième utilisation retourne 401).
2

Expiration du token testée

Définissez exp: Date.now() - 1 dans votre macaroon simulé — vérifiez que le middleware retourne 401.
3

E2E complet avec un vrai paiement à priceSats: 1

Vrai portefeuille, vrai paiement, vrai 200 OK. Utilisez Wallet of Satoshi ou Blink sur votre téléphone.
4

Protection contre la réutilisation correcte pour votre déploiement

Processus unique : l’adaptateur en mémoire par défaut convient. Multi-processus (Kubernetes, PM2 cluster) : utilisez l’adaptateur Supabase ou Redis. Voir le Guide de production.