Skip to Content
ReferenceAssertionstyper

Assertionstyper

Kanonisk reference for assertions, der køres i en provisioneret test-VM. Medmindre andet er angivet, er målet primary. Hver assertion kræver også et læsbart felt description.

Stabile gæste-assertions

TypePåkrævede paramsValgfri adfærd
user_existsusernameKører id
user_passwordusernameVerificerer at der findes en ulåst adgangskodehash; forsøger ikke interaktiv login
user_in_groupusername, groupAccepterer Vyatta-administrative ækvivalenter ved kontrol af sudo/admin
file_existspathAccepterer fil eller mappe
file_containspath, pattern eller contentBruger grep; værdien er et grep-mønster, ikke udelukkende literal sammenligning
file_permissionspath, modeSammenligner oktaltilstand rapporteret af stat
service_runningserviceTjekker systemd active state; kender et lille sæt alias på tværs af distroer
service_enabledserviceTjekker systemd enablement
package_installedpackageTjekker gæstens understøttede pakkehånderdatabase
port_listeningportprotocol kan være tcp eller udp; standard er TCP
command_succeedscommandExit code skal være nul; timeout_seconds/timeout begrænses til 1–1.800 sekunder
command_outputcommand plus regex i expected_pattern, pattern, expected, eller assertion-level expectedMatcher stdout med Python regular-expression-semantik
network_reachablehostcount standard 3; bruger ICMP ping
http_respondsurlstatus standard 200

Eksempel:

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

Kommandoen og den indfangede output kan blive testbevis. Indlejr ikke hemmeligheder.

GUI-assertions

GUI-tjek afhænger af en fungerende displaysession og runnerens screenshot- eller inputhjælpere. De er mere miljøfølsomme end gæstekommando-tjek.

TypeHovedparametreHvad der tjekkes
gui_application_opensapplication (kanonisk); handler accepterer også startspecifikke valgStarter et program og leder efter et vindue
gui_window_visiblevinduestitel- eller matchparametre brugt af handlerenLeder efter et eksisterende vindue
gui_execute_commandcommandUdfører en skrivebordskommando; kan tage et screenshot
gui_application_processprocess_nameLeder efter processen som headless fallback
gui_screenshot_matchesreference_id; valgfri threshold, crop/mask-regionerSammenligner aktuelt screenshot med gemt reference
gui_wallpaper_matcheswallpaper_path; valgfrie tærskler og regionerTjekker konfigureret baggrundsbillede-sti og visuelt resultat
desktop_wallpaper_matcheswallpaper_pathKører det strengere desktop-baggrundsbillede provenance/configuration/visual-tjek
gui_click_elementx, ySender koordinatbaseret pointerinput
gui_form_fillfieldsUdfylder koordinatbeskrevne formularfelter
gui_text_visibletext, contains, eller ocr_containsBruger OCR på skærmen eller en valgt region

Executoren accepterer også kompatibilitetsalias for nogle OCR- og baggrundstyper. Foretræk de kanoniske navne ovenfor i nye recipes. Koordinattests er opløsningsfølsomme; brug OCR eller resultattjek hvor det er muligt.

Benchmark-tjek er et separat format

cis_benchmark findes i opskriftens historiske assertion-ordforråd, men den almindelige assertion-dispatcher har ingen cis_benchmark-handler. CIS og andre benchmark-tjek leveres som benchmark-poster med audit_script og kører via benchmark-runneren. Brug CIS benchmark-workflow, ikke en custom assertion med type: "cis_benchmark".

Fortolkning af resultat

  • Manglende påkrævede data giver error, eller planlæggeren kan droppe assertionen med advarsel før kørsel.
  • Utilgængeligt on_vm-mål giver skipped.
  • Ikke matchende resultat giver failed.
  • Kun passed er bekræftende bevis for den assertion.

Se Custom assertions for vejledning til forfattere.