Skip to Content
ReferenceTypy asercií

Typy asercií

Kanonický prehľad asercií spúšťaných vo vnútri pripravenej testovacej VM. Ak nie je uvedené inak, cieľ je primary. Každá asercia navyše vyžaduje čitateľné pole description.

Stabilné hostiteľské asercie

TypPožadované paramsVoliteľné správanie
user_existsusernameSpustí id
user_passwordusernameOverí, že existuje odomknutý hash hesla; nesnaží sa o interaktívne prihlásenie
user_in_groupusername, groupPri kontrole sudo/admin akceptuje administratívne ekvivalenty Vyatta
file_existspathAkceptuje súbor alebo adresár
file_containspath, pattern alebo contentPoužíva grep; hodnota je vzor pre grep, nie čisto doslovné porovnanie
file_permissionspath, modePorovnáva oktalový režim hlásený príkazom stat
service_runningserviceKontroluje aktívny stav systemd; pozná malú množinu aliasov naprieč distribúciami
service_enabledserviceKontroluje povolenie v systemd
package_installedpackageKontroluje podporovanú databázu správcu balíkov hostiteľa
port_listeningportprotocol môže byť tcp alebo udp; predvolené je TCP
command_succeedscommandNávratový kód musí byť nula; timeout_seconds/timeout je obmedzený na 1–1 800 sekúnd
command_outputcommand plus regex v expected_pattern, pattern, expected alebo expected na úrovni aserciePorovnáva stdout so sémantikou regulárnych výrazov Pythonu
network_reachablehostcount predvolene 3; používa ICMP ping
http_respondsurlstatus predvolene 200

Príklad:

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

Príkaz a zachytený výstup môžu byť testovací dôkaz. Nevkladajte tajomstvá.

Asercie GUI

Kontroly GUI závisia od fungujúcej relácie displeja a pomocníkov runnera pre snímky obrazovky alebo vstup. Sú citlivejšie na prostredie než kontroly príkazov na hostiteľovi.

TypHlavné parametreČo kontroluje
gui_application_opensapplication (kanonické); handler akceptuje aj voľby špecifické pre spustenieSpustí aplikáciu a hľadá okno
gui_window_visibleparametre titulku okna alebo zhody používané handleromHľadá existujúce okno
gui_execute_commandcommandSpustí príkaz na ploche; môže urobiť snímku obrazovky
gui_application_processprocess_nameHľadá proces ako záložnú headless variantu
gui_screenshot_matchesreference_id; voliteľne threshold, oblasti crop/maskPorovná aktuálnu snímku s uloženou referenciou
gui_wallpaper_matcheswallpaper_path; voliteľné prahy a oblastiKontroluje nakonfigurovanú cestu tapety a vizuálny výsledok
desktop_wallpaper_matcheswallpaper_pathSpustí prísnejšiu kontrolu pôvodu, konfigurácie a vzhľadu tapety plochy
gui_click_elementx, yOdošle vstup ukazovateľa podľa súradníc
gui_form_fillfieldsVyplní vstupy formulára popísané súradnicami
gui_text_visibletext, contains alebo ocr_containsPoužije OCR na obrazovke alebo vybranej oblasti

Executor tiež akceptuje aliasy kompatibility pre niektoré typy OCR a tapiet. V nových receptoch uprednostnite kanonické názvy vyššie. Testy podľa súradníc závisia od rozlíšenia; kde to ide, použite OCR alebo kontrolu výsledku.

Kontroly benchmarkov sú samostatný formát

cis_benchmark sa objavuje v historickej slovnej zásobe asercií receptu, ale bežný dispatcher asercií nemá handler cis_benchmark. CIS a ďalšie kontroly benchmarkov sa dodávajú ako záznamy benchmarkov s audit_script a spúšťa ich benchmark runner. Použite workflow CIS benchmark, nie vlastnú aserciu s type: "cis_benchmark".

Interpretácia výsledku

  • Chýbajúce povinné údaje vedú k error, alebo môže planner aserciu pred spustením s varovaním vynechať.
  • Nedostupný cieľ on_vm vedie k skipped.
  • Nesúlad vedie k failed.
  • Iba passed je kladný dôkaz pre danú aserciu.

Pozrite Custom assertions pre návod k písaniu.