Skip to Content
ReferenceTipos de asserção

Tipos de asserção

Referência canônica para asserções executadas dentro de VM de teste provisionada. Salvo nota, alvo é primary. Cada asserção também exige description legível por humanos.

Asserções estáveis no guest

TypeRequired paramsOptional behavior
user_existsusernameRuns id
user_passwordusernameVerifies an unlocked password hash exists; it does not attempt an interactive login
user_in_groupusername, groupAccepts Vyatta administrative equivalents when checking sudo/admin
file_existspathAccepts a file or directory
file_containspath, pattern or contentUses grep; the value is a grep pattern, not a literal-only comparison
file_permissionspath, modeCompares the octal mode reported by stat
service_runningserviceChecks systemd active state; knows a small cross-distro alias set
service_enabledserviceChecks systemd enablement
package_installedpackageChecks the guest’s supported package-manager database
port_listeningportprotocol may be tcp or udp; default is TCP
command_succeedscommandExit code must be zero; timeout_seconds/timeout is clamped to 1–1,800 seconds
command_outputcommand plus a regex in expected_pattern, pattern, expected, or the assertion-level expectedMatches stdout with Python regular-expression semantics
network_reachablehostcount defaults to 3; uses ICMP ping
http_respondsurlstatus defaults to 200

Exemplo:

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

Comando e saída capturada podem virar evidência de teste. Não embuta segredos.

Asserções GUI

Checagens GUI dependem de sessão de display funcional e helpers de screenshot ou input do runner. São mais sensíveis ao ambiente que checagens de comando no guest.

TypePrincipal parametersWhat it checks
gui_application_opensapplication (canonical); handler also accepts launch-specific optionsStarts an application and looks for a window
gui_window_visiblewindow-title or matching parameters used by the handlerLooks for an existing window
gui_execute_commandcommandExecutes a desktop command; can capture a screenshot
gui_application_processprocess_nameLooks for the process as a headless fallback
gui_screenshot_matchesreference_id; optional threshold, crop/mask regionsCompares the current screenshot with a stored reference
gui_wallpaper_matcheswallpaper_path; optional thresholds and regionsChecks the configured wallpaper path and visual result
desktop_wallpaper_matcheswallpaper_pathRuns the stricter desktop-wallpaper provenance/configuration/visual check
gui_click_elementx, ySends coordinate-based pointer input
gui_form_fillfieldsFills coordinate-described form inputs
gui_text_visibletext, contains, or ocr_containsUses OCR on the screen or a selected region

Executor também aceita aliases de compatibilidade para alguns tipos OCR e wallpaper. Prefira nomes canônicos acima em receitas novas. Testes por coordenada são sensíveis à resolução; use OCR ou checagens de resultado quando possível.

Checagens de benchmark são formato separado

cis_benchmark aparece no vocabulário histórico de asserção da receita, mas dispatcher comum de asserção não tem handler cis_benchmark. Checagens CIS e outros benchmarks são fornecidas como registros de benchmark com audit_script e executam pelo benchmark runner. Use workflow de benchmark CIS, não asserção custom com type: "cis_benchmark".

Interpretação de resultado

  • Dados obrigatórios faltando produzem error, ou planner pode descartar asserção com aviso antes da execução.
  • Alvo on_vm indisponível produz skipped.
  • Resultado não correspondente produz failed.
  • passed é evidência afirmativa para aquela asserção.

Veja Asserções personalizadas para orientação de autoria.