Skip to Content
ReferenceTipos de aserción

Tipos de aserción

Referencia canónica de aserciones ejecutadas dentro de una VM de prueba aprovisionada. Salvo nota, el destino es primary. Cada aserción requiere también una description legible por humanos.

Aserciones estables en guest

Tipoparams requeridosComportamiento opcional
user_existsusernameEjecuta id
user_passwordusernameVerifica que existe un hash de contraseña desbloqueado; no intenta login interactivo
user_in_groupusername, groupAcepta equivalentes administrativos Vyatta al comprobar sudo/admin
file_existspathAcepta archivo o directorio
file_containspath, pattern o contentUsa grep; el valor es un patrón grep, no solo comparación literal
file_permissionspath, modeCompara el modo octal reportado por stat
service_runningserviceComprueba estado activo systemd; conoce un conjunto pequeño de alias cross-distro
service_enabledserviceComprueba habilitación systemd
package_installedpackageComprueba la base de datos del gestor de paquetes admitido del guest
port_listeningportprotocol puede ser tcp o udp; por defecto TCP
command_succeedscommandEl código de salida debe ser cero; timeout_seconds/timeout se limita a 1–1,800 segundos
command_outputcommand más una regex en expected_pattern, pattern, expected o expected a nivel de aserciónCoincide stdout con semántica de expresiones regulares Python
network_reachablehostcount por defecto 3; usa ping ICMP
http_respondsurlstatus por defecto 200

Ejemplo:

{ "type": "command_output", "description": "Application reports the expected release", "params": { "command": "/opt/acme/bin/acme --version", "expected_pattern": "^acme 2\\.4\\.[0-9]+$" } }

El comando y la salida capturada pueden convertirse en evidencia de prueba. No incrustes secretos.

Aserciones GUI

Las comprobaciones GUI dependen de una sesión de pantalla funcional y de los helpers de captura o entrada del runner. Son más sensibles al entorno que comprobaciones por comando en guest.

TipoParámetros principalesQué comprueba
gui_application_opensapplication (canónico); el handler también acepta opciones específicas de lanzamientoInicia una aplicación y busca una ventana
gui_window_visibletítulo de ventana o parámetros de coincidencia usados por el handlerBusca una ventana existente
gui_execute_commandcommandEjecuta un comando de escritorio; puede capturar captura
gui_application_processprocess_nameBusca el proceso como respaldo headless
gui_screenshot_matchesreference_id; threshold, regiones crop/mask opcionalesCompara la captura actual con una referencia almacenada
gui_wallpaper_matcheswallpaper_path; umbrales y regiones opcionalesComprueba la ruta de fondo configurada y el resultado visual
desktop_wallpaper_matcheswallpaper_pathEjecuta la comprobación más estricta de procedencia/configuración/visual del fondo de escritorio
gui_click_elementx, yEnvía entrada de puntero por coordenadas
gui_form_fillfieldsRellena entradas de formulario descritas por coordenadas
gui_text_visibletext, contains o ocr_containsUsa OCR en pantalla o una región seleccionada

El ejecutor también acepta alias de compatibilidad para algunos tipos OCR y fondo. Prefiere los nombres canónicos anteriores en recetas nuevas. Las pruebas por coordenadas son sensibles a resolución; usa OCR o comprobaciones de resultado cuando sea posible.

Las comprobaciones de benchmark son un formato aparte

cis_benchmark aparece en el vocabulario histórico de aserciones de la receta, pero el dispatcher ordinario de aserciones no tiene handler cis_benchmark. Las comprobaciones CIS y otros benchmarks se suministran como registros de benchmark con audit_script y se ejecutan mediante el runner de benchmark. Usa el flujo de benchmarks CIS, no una aserción personalizada con type: "cis_benchmark".

Interpretación de resultados

  • Datos requeridos faltantes producen error, o el planificador puede descartar la aserción con advertencia antes de ejecutar.
  • Un destino on_vm no disponible produce skipped.
  • Un resultado que no coincide produce failed.
  • Solo passed es evidencia afirmativa para esa aserción.

Consulta Aserciones personalizadas para orientación de autoría.