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
| Typ | Požadované params | Voliteľné správanie |
|---|---|---|
user_exists | username | Spustí id |
user_password | username | Overí, že existuje odomknutý hash hesla; nesnaží sa o interaktívne prihlásenie |
user_in_group | username, group | Pri kontrole sudo/admin akceptuje administratívne ekvivalenty Vyatta |
file_exists | path | Akceptuje súbor alebo adresár |
file_contains | path, pattern alebo content | Používa grep; hodnota je vzor pre grep, nie čisto doslovné porovnanie |
file_permissions | path, mode | Porovnáva oktalový režim hlásený príkazom stat |
service_running | service | Kontroluje aktívny stav systemd; pozná malú množinu aliasov naprieč distribúciami |
service_enabled | service | Kontroluje povolenie v systemd |
package_installed | package | Kontroluje podporovanú databázu správcu balíkov hostiteľa |
port_listening | port | protocol môže byť tcp alebo udp; predvolené je TCP |
command_succeeds | command | Návratový kód musí byť nula; timeout_seconds/timeout je obmedzený na 1–1 800 sekúnd |
command_output | command plus regex v expected_pattern, pattern, expected alebo expected na úrovni asercie | Porovnáva stdout so sémantikou regulárnych výrazov Pythonu |
network_reachable | host | count predvolene 3; používa ICMP ping |
http_responds | url | status 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.
| Typ | Hlavné parametre | Čo kontroluje |
|---|---|---|
gui_application_opens | application (kanonické); handler akceptuje aj voľby špecifické pre spustenie | Spustí aplikáciu a hľadá okno |
gui_window_visible | parametre titulku okna alebo zhody používané handlerom | Hľadá existujúce okno |
gui_execute_command | command | Spustí príkaz na ploche; môže urobiť snímku obrazovky |
gui_application_process | process_name | Hľadá proces ako záložnú headless variantu |
gui_screenshot_matches | reference_id; voliteľne threshold, oblasti crop/mask | Porovná aktuálnu snímku s uloženou referenciou |
gui_wallpaper_matches | wallpaper_path; voliteľné prahy a oblasti | Kontroluje nakonfigurovanú cestu tapety a vizuálny výsledok |
desktop_wallpaper_matches | wallpaper_path | Spustí prísnejšiu kontrolu pôvodu, konfigurácie a vzhľadu tapety plochy |
gui_click_element | x, y | Odošle vstup ukazovateľa podľa súradníc |
gui_form_fill | fields | Vyplní vstupy formulára popísané súradnicami |
gui_text_visible | text, contains alebo ocr_contains | Použ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_vmvedie kskipped. - Nesúlad vedie k
failed. - Iba
passedje kladný dôkaz pre danú aserciu.
Pozrite Custom assertions pre návod k písaniu.