Skip to Content
ReferenceAssertionstyper

Assertionstyper

Kanonisk referens för assertions som körs i en provisionerad test-VM. Om inget annat anges är målet primary. Varje assertion kräver också ett läsbart fält description.

Stabila gäst-assertions

TypObligatoriska paramsValfritt beteende
user_existsusernameKör id
user_passwordusernameVerifierar att en olåst lösenordshash finns; försöker inte interaktiv inloggning
user_in_groupusername, groupAccepterar Vyatta-administrativa motsvarigheter vid kontroll av sudo/admin
file_existspathAccepterar fil eller katalog
file_containspath, pattern eller contentAnvänder grep; värdet är ett grep-mönster, inte enbart literal jämförelse
file_permissionspath, modeJämför oktalt läge som stat rapporterar
service_runningserviceKontrollerar systemd active state; känner till en liten mängd alias mellan distributioner
service_enabledserviceKontrollerar systemd enablement
package_installedpackageKontrollerar gästens stödda pakethanterardatabas
port_listeningportprotocol kan vara tcp eller udp; standard är TCP
command_succeedscommandExit code måste vara noll; timeout_seconds/timeout begränsas till 1–1 800 sekunder
command_outputcommand plus regex i expected_pattern, pattern, expected, eller assertion-level expectedMatchar stdout med Python regular-expression-semantik
network_reachablehostcount standard 3; använder ICMP ping
http_respondsurlstatus standard 200

Exempel:

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

Kommandot och den fångade utdata kan bli testbevis. Bädda inte in hemligheter.

GUI-assertions

GUI-kontroller beror på en fungerande displaysession och runnerns skärmdumps- eller inmatningshjälpare. De är mer miljökänsliga än gästkommandokontroller.

TypHuvudparametrarVad som kontrolleras
gui_application_opensapplication (kanonisk); handlern accepterar även startspecifika alternativStartar ett program och letar efter ett fönster
gui_window_visiblefönstertitel- eller matchparametrar som handlern använderLetar efter ett befintligt fönster
gui_execute_commandcommandKör ett skrivbordskommando; kan ta en skärmdump
gui_application_processprocess_nameLetar efter processen som headless-reserv
gui_screenshot_matchesreference_id; valfritt threshold, crop/mask-regionerJämför aktuell skärmdump med lagrad referens
gui_wallpaper_matcheswallpaper_path; valfria trösklar och regionerKontrollerar konfigurerad bakgrundsbildssökväg och visuellt resultat
desktop_wallpaper_matcheswallpaper_pathKör den strängare kontrollen av desktop-bakgrundsbild provenance/configuration/visual
gui_click_elementx, ySkickar koordinatbaserad pekarinmatning
gui_form_fillfieldsFyller koordinatbeskrivna formulärfält
gui_text_visibletext, contains, eller ocr_containsAnvänder OCR på skärmen eller en vald region

Exekutorn accepterar också kompatibilitetsalias för vissa OCR- och bakgrundstyper. Använd de kanoniska namnen ovan i nya recipes. Koordinattester är upplösningskänsliga; använd OCR eller resultatkontroller där det går.

Benchmark-kontroller är ett separat format

cis_benchmark finns i receptets historiska assertion-ordförråd, men den vanliga assertion-dispatchern har ingen cis_benchmark-handler. CIS och andra benchmark-kontroller levereras som benchmark-poster med audit_script och körs via benchmark-runnern. Använd CIS benchmark-arbetsflödet, inte en custom assertion med type: "cis_benchmark".

Tolkning av resultat

  • Saknade obligatoriska data ger error, eller planeraren kan ta bort assertionen med varning före körning.
  • Otillgängligt on_vm-mål ger skipped.
  • Icke matchande resultat ger failed.
  • Endast passed är bekräftande bevis för den assertionen.

Se Custom assertions för vägledning vid skrivande.