VerifactuMidAPI/documentacion/testing.md

1.8 KiB

Testing

Tests de Certificados

Ubicación: test/

Generar Certificados de Prueba

python test/generate_certs.py

Genera certificados en test/certs/:

  • valid_365days.p12 - Válido 365 días
  • valid_60days.p12 - Válido 60 días
  • expired.p12 - Expirado
  • expiring_soon.p12 - Caduca pronto
  • not_yet_valid.p12 - Aún no válido

Ejecutar Tests

python test/run_tests.py

Expected output:

#   Test                 Expected   Result     Status
------------------------------------------------------------
1   Valid 365 days       PASS       PASS       [PASS]
2   Valid 60 days        PASS       PASS       [PASS]
3   Expired              FAIL       FAIL       [PASS]
4   Expiring soon        PASS       PASS       [PASS]
5   Not yet valid        FAIL       FAIL       [PASS]
------------------------------------------------------------
RESULTS: 5 passed, 0 failed

Test de Facturas

Factura de Ejemplo

Ubicación: test/invoice.json

python test_invoice.py

Flujo Completo

  1. Iniciar API:
go run main.go
  1. Registrar certificado: Ver test_personal.py

  2. Enviar factura:

python test_invoice.py

Expected (fallback local):

{
  "success": true,
  "csv": "0CE5F940CEA...",
  "estado": "Correcto (local)"
}

Depuración

Ver Logs

Ejecutar API desde terminal:

go run main.go

Limpiar Datos

# Eliminar certificados
Remove-Item -Recurse ./data/certs/*

# Eliminar hashes
Remove-Item -Recurse ./data/*

Certificados Personales

Para usar tu certificado:

  1. Copiar a data/certs/personal.p12
  2. Ejecutar test_personal.py
  3. Contraseña se envía cifrada con RSA público de la API

Simulación

test/simulate.py contiene herramientas de simulación para testing sin AEAT real.