अवलोकन
एक L402 API का परीक्षण करने के दो स्तर हैं:- Unit / integration tests — बिना real Lightning payments के अपने middleware logic को verify करें
- End-to-end tests — real wallet और real sats के साथ पूरे flow को verify करें
Unit tests — mock provider का उपयोग करें
Lightning को पूरी तरह bypass करने के लिए एक mockLightningProvider पास करें:
परीक्षण के लिए एक valid preimage बनाएं
Python — mock provider के साथ pytest
Replay protection का परीक्षण
यह verify करें कि एक preimage दोबारा उपयोग नहीं किया जा सकता:CI pipeline
CI में mock provider का उपयोग करें — कोई Lightning node या API key की आवश्यकता नहीं:Real sats के साथ End-to-end test
पूरे payment flow के परीक्षण के लिए (staging/pre-launch):priceSats: 1सेट करें — प्रति test run ~$0.0008 खर्च होता है- बिना real money के payment करने के लिए OpenNode sandbox (
testMode: true) का उपयोग करें: - या अपना 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।