How juanmanqn/api-test-automation works
API Quality es una herramienta CLI para evaluar contratos OpenAPI y ejecutar controles técnicos sobre APIs REST configuradas. El flujo principal selecciona una o varias APIs, valida configuración y contrato con Spectral, y —salvo en el perfil lint— ejecuta pruebas generadas por Schemathesis con políticas compartidas de cabeceras, latencia y cobertura exitosa. Finalmente consolida hallazgos y observaciones en reportes HTML, JSON y JUnit. Las conexiones reflejan las llamadas observables en el CLI y la suite; las capacidades de reglas se apoyan también en la documentación y el árbol.
Main entry points: cli.py CLI runner · runtime_suite.py Suite Schemathesis · config.py Configuración y políticas · openapi.yaml Contrato OpenAPI
Components 15
Ejecución CLI
- CLI runner
src/api_quality/cli.py
Catálogo y reglas
- Configuración y políticas
src/api_quality/config.py - Catálogo de APIs
apis - Configuración demo
apis/demo/config.yaml - Contrato OpenAPI
apis/demo/openapi.yaml - Reglas Spectral
rules/spectral.yaml - Spectral CLI
Evaluación runtime
- pytest runner
- Suite Schemathesis
src/api_quality/runtime_suite.py - Schemathesis
- Observaciones
src/api_quality/runtime_suite.py
Resultados
- Generador de reportes
src/api_quality/reporting.py - Reportes HTML JSON JUnit
Other components
- Ingeniero
- API evaluada
Connections 18
- Ingeniero → CLI runner: inicia evaluación
- CLI runner → Catálogo de APIs: selecciona API
- CLI runner → Configuración y políticas: carga configuración
- Configuración y políticas → Configuración demo: valida configuración
- Configuración y políticas → Contrato OpenAPI: resuelve contrato
- CLI runner → Spectral CLI: ejecuta lint
- CLI runner → Contrato OpenAPI: envía contrato
- CLI runner → Reglas Spectral: indica reglas
- CLI runner → pytest runner: lanza suite
- pytest runner → Suite Schemathesis: ejecuta
- Suite Schemathesis → Configuración y políticas: carga configuración
- Suite Schemathesis → Schemathesis: configura pruebas
- Suite Schemathesis → Contrato OpenAPI: carga contrato
- Schemathesis → API evaluada: envía solicitudes
- Suite Schemathesis → Observaciones: registra métricas
- CLI runner → Observaciones: lee métricas
- CLI runner → Generador de reportes: entrega resultados
- Generador de reportes → Reportes HTML JSON JUnit: escribe reportes