102 lines
1.8 KiB
Markdown
102 lines
1.8 KiB
Markdown
|
|
# Testing
|
||
|
|
|
||
|
|
## Tests de Certificados
|
||
|
|
|
||
|
|
Ubicación: `test/`
|
||
|
|
|
||
|
|
### Generar Certificados de Prueba
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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`
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python test_invoice.py
|
||
|
|
```
|
||
|
|
|
||
|
|
### Flujo Completo
|
||
|
|
|
||
|
|
1. **Iniciar API:**
|
||
|
|
```bash
|
||
|
|
go run main.go
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **Registrar certificado:**
|
||
|
|
Ver `test_personal.py`
|
||
|
|
|
||
|
|
3. **Enviar factura:**
|
||
|
|
```bash
|
||
|
|
python test_invoice.py
|
||
|
|
```
|
||
|
|
|
||
|
|
Expected (fallback local):
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"success": true,
|
||
|
|
"csv": "0CE5F940CEA...",
|
||
|
|
"estado": "Correcto (local)"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Depuración
|
||
|
|
|
||
|
|
### Ver Logs
|
||
|
|
|
||
|
|
Ejecutar API desde terminal:
|
||
|
|
```bash
|
||
|
|
go run main.go
|
||
|
|
```
|
||
|
|
|
||
|
|
### Limpiar Datos
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 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.
|