Skip to main content

Übersicht

Das Testen einer L402-API umfasst zwei Ebenen:
  1. Unit-/Integrationstests — Überprüfen Sie Ihre Middleware-Logik ohne echte Lightning-Zahlungen
  2. 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:
Steuern Sie die Provider-Auswahl anhand der Umgebung:

End-to-End-Test mit echten sats

Für einen vollständigen Zahlungsablauf-Test (Staging/Vor-Launch):
  1. Setzen Sie priceSats: 1 — kostet ca. $0,0008 pro Testlauf
  2. Verwenden Sie die OpenNode-Sandbox (testMode: true), um ohne echtes Geld zu zahlen:
  3. Oder verwenden Sie Ihre Blink-Wallet — 1-sat-Zahlungen sind praktisch kostenlos

Automatisiertes E2E mit einer Test-Wallet


Checkliste vor dem Produktiveinsatz

1

Unit-Tests mit Mock-Provider erfolgreich

402 → zahlen → 200-Ablauf verifiziert. Replay-Schutz verifiziert (zweite Verwendung gibt 401 zurück).
2

Token-Ablauf getestet

Setzen Sie exp: Date.now() - 1 in Ihrem Mock-macaroon — überprüfen Sie, ob die Middleware 401 zurückgibt.
3

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.
4

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.