Visão Geral
Testar uma API L402 possui duas camadas:- Testes unitários / de integração — verificam a lógica do seu middleware sem pagamentos reais pelo Lightning Network
- Testes de ponta a ponta — verificam o fluxo completo com uma carteira real e sats reais
Testes unitários — mock do provider
Passe umLightningProvider mockado para contornar o Lightning completamente:
Gerando um preimage válido para testes
Python — pytest com mock provider
Testando proteção contra replay
Verifique que um preimage não pode ser reutilizado:Pipeline de CI
Use o mock provider no CI — nenhum nó Lightning ou chave de API é necessário:Teste de ponta a ponta com sats reais
Para um teste completo do fluxo de pagamento (staging/pré-lançamento):- Defina
priceSats: 1— custa ~$0,0008 por execução de teste - Use o sandbox do OpenNode (
testMode: true) para pagar sem dinheiro real: - Ou use sua carteira Blink — pagamentos de 1 sat são praticamente gratuitos
E2E automatizado com uma carteira de teste
Lista de verificação antes da produção
Testes unitários passam com o mock provider
Fluxo 402 → pagar → 200 verificado. Proteção contra replay verificada (segundo uso retorna 401).
Expiração de token testada
Defina
exp: Date.now() - 1 no seu macaroon mockado — verifique se o middleware retorna 401.E2E completo com pagamento real em priceSats: 1
Carteira real, pagamento real, 200 OK real. Use Wallet of Satoshi ou Blink no seu celular.
Proteção contra replay correta para seu ambiente de deploy
Processo único: o adaptador padrão em memória está ótimo. Múltiplos processos (Kubernetes, cluster PM2): use o adaptador Supabase ou Redis. Veja o Guia de Produção.