Übersicht
Das Testen einer L402-API umfasst zwei Ebenen:- Unit-/Integrationstests — Überprüfen Sie Ihre Middleware-Logik ohne echte Lightning-Zahlungen
- End-to-End-Tests — Überprüfen Sie den vollständigen Ablauf mit einer echten Wallet und echten sats
Unit-Tests — Provider mocken
Übergeben Sie einen Mock-LightningProvider, um Lightning vollständig zu umgehen:
Einen gültigen preimage für Tests generieren
Python — pytest mit Mock-Provider
Replay-Schutz testen
Stellen Sie sicher, dass ein preimage nicht wiederverwendet werden kann:CI-Pipeline
Verwenden Sie den Mock-Provider in CI — kein Lightning-Node oder API-Schlüssel erforderlich:End-to-End-Test mit echten sats
Für einen vollständigen Zahlungsablauf-Test (Staging/Vor-Launch):- Setzen Sie
priceSats: 1— kostet ca. $0,0008 pro Testlauf - Verwenden Sie die OpenNode-Sandbox (
testMode: true), um ohne echtes Geld zu zahlen: - Oder verwenden Sie Ihre Blink-Wallet — 1-sat-Zahlungen sind praktisch kostenlos
Automatisiertes E2E mit einer Test-Wallet
Checkliste vor dem Produktiveinsatz
Unit-Tests mit Mock-Provider erfolgreich
402 → zahlen → 200-Ablauf verifiziert. Replay-Schutz verifiziert (zweite Verwendung gibt 401 zurück).
Token-Ablauf getestet
Setzen Sie
exp: Date.now() - 1 in Ihrem Mock-macaroon — überprüfen Sie, ob die Middleware 401 zurückgibt.Vollständiges E2E mit echter Zahlung bei priceSats: 1
Echte Wallet, echte Zahlung, echtes 200 OK. Verwenden Sie Wallet of Satoshi oder Blink auf Ihrem Smartphone.
Replay-Schutz für Ihre Bereitstellung korrekt
Einzelner Prozess: der standardmäßige In-Memory-Adapter ist ausreichend. Mehrere Prozesse (Kubernetes, PM2-Cluster): verwenden Sie den Supabase- oder Redis-Adapter. Siehe Produktionsleitfaden.