Skip to main content

अवलोकन

एक L402 API का परीक्षण करने के दो स्तर हैं:
  1. Unit / integration tests — बिना real Lightning payments के अपने middleware logic को verify करें
  2. End-to-end tests — real wallet और real sats के साथ पूरे flow को verify करें

Unit tests — mock provider का उपयोग करें

Lightning को पूरी तरह bypass करने के लिए एक mock LightningProvider पास करें:

परीक्षण के लिए एक valid preimage बनाएं


Python — mock provider के साथ pytest


Replay protection का परीक्षण

यह verify करें कि एक preimage दोबारा उपयोग नहीं किया जा सकता:

CI pipeline

CI में mock provider का उपयोग करें — कोई Lightning node या API key की आवश्यकता नहीं:
environment के अनुसार अपना provider चुनें:

Real sats के साथ End-to-end test

पूरे payment flow के परीक्षण के लिए (staging/pre-launch):
  1. priceSats: 1 सेट करें — प्रति test run ~$0.0008 खर्च होता है
  2. बिना real money के payment करने के लिए OpenNode sandbox (testMode: true) का उपयोग करें:
  3. या अपना Blink wallet उपयोग करें — 1 sat payments practically मुफ्त हैं

एक test wallet के साथ Automated E2E


Production से पहले checklist

1

Mock provider के साथ Unit tests पास हों

402 → pay → 200 flow verify हो। Replay protection verify हो (दूसरे उपयोग पर 401 मिले)।
2

Token expiry परखी जाए

अपने mock macaroon में exp: Date.now() - 1 सेट करें — verify करें कि middleware 401 लौटाता है।
3

priceSats: 1 पर real payment के साथ Full E2E

Real wallet, real payment, real 200 OK। अपने फोन पर Wallet of Satoshi या Blink उपयोग करें।
4

आपके deployment के लिए Replay protection सही हो

Single process: default in-memory adapter ठीक है। Multi-process (Kubernetes, PM2 cluster): Supabase या Redis adapter उपयोग करें। देखें Production Guide