Skip to main content

Visão Geral

Testar uma API L402 possui duas camadas:
  1. Testes unitários / de integração — verificam a lógica do seu middleware sem pagamentos reais pelo Lightning Network
  2. Testes de ponta a ponta — verificam o fluxo completo com uma carteira real e sats reais

Testes unitários — mock do provider

Passe um LightningProvider 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:
Proteja a seleção do seu provider por ambiente:

Teste de ponta a ponta com sats reais

Para um teste completo do fluxo de pagamento (staging/pré-lançamento):
  1. Defina priceSats: 1 — custa ~$0,0008 por execução de teste
  2. Use o sandbox do OpenNode (testMode: true) para pagar sem dinheiro real:
  3. 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

1

Testes unitários passam com o mock provider

Fluxo 402 → pagar → 200 verificado. Proteção contra replay verificada (segundo uso retorna 401).
2

Expiração de token testada

Defina exp: Date.now() - 1 no seu macaroon mockado — verifique se o middleware retorna 401.
3

E2E completo com pagamento real em priceSats: 1

Carteira real, pagamento real, 200 OK real. Use Wallet of Satoshi ou Blink no seu celular.
4

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.