Vrste trditev
Kanoničen pregled trditev, izvedenih znotraj pripravljenega testnega VM-ja.
Če ni navedeno drugače, je cilj primary. Vsaka trditev poleg tega zahteva
berljivo polje description.
Stabilne trditve na gostu
| Tip | Zahtevani params | Neobnašno vedenje |
|---|---|---|
user_exists | username | Zažene id |
user_password | username | Preveri, da obstaja odklenjen hash gesla; ne poskuša interaktivne prijave |
user_in_group | username, group | Pri preverjanju sudo/admin sprejme administrativne ekvivalente Vyatta |
file_exists | path | Sprejme datoteko ali mapo |
file_contains | path, pattern ali content | Uporabi grep; vrednost je vzorec za grep, ne zgolj dobesedna primerjava |
file_permissions | path, mode | Primerja oktalni način, ki ga poroča stat |
service_running | service | Preveri aktivno stanje systemd; pozna majhen nabor vzdevkov med distribucijami |
service_enabled | service | Preveri omogočitev v systemd |
package_installed | package | Preveri podprto bazo upravitelja paketov gosta |
port_listening | port | protocol je lahko tcp ali udp; privzeto je TCP |
command_succeeds | command | Izhodna koda mora biti nič; timeout_seconds/timeout je omejen na 1–1.800 sekund |
command_output | command plus regex v expected_pattern, pattern, expected ali expected na ravni trditve | Ujema stdout s semantiko regularnih izrazov Pythona |
network_reachable | host | count privzeto 3; uporabi ICMP ping |
http_responds | url | status privzeto 200 |
Primer:
{
"type": "command_output",
"description": "Application reports the expected release",
"params": {
"command": "/opt/acme/bin/acme --version",
"expected_pattern": "^acme 2\\.4\\.[0-9]+$"
}
}Ukaz in zajeti izhod lahko postaneta testni dokaz. Ne vgrajujte skrivnosti.
Trditve GUI
Preverjanja GUI so odvisna od delujoče seje zaslona in pomočnikov runnerja za posnetke ali vnos. Občutljivejša so na okolje kot preverjanja ukazov na gostu.
| Tip | Glavni parametri | Kaj preverja |
|---|---|---|
gui_application_opens | application (kanonično); handler sprejme tudi možnosti, specifične za zagon | Zažene aplikacijo in poišče okno |
gui_window_visible | parametri naslova okna ali ujemanja, ki jih uporablja handler | Poišče obstoječe okno |
gui_execute_command | command | Izvede ukaz na namizju; lahko zajame posnetek zaslona |
gui_application_process | process_name | Poišče proces kot rezervno headless možnost |
gui_screenshot_matches | reference_id; neobvezno threshold, območja crop/mask | Primerja trenutni posnetek s shranjeno referenco |
gui_wallpaper_matches | wallpaper_path; neobvezni pragovi in območja | Preveri konfigurirano pot ozadja in vizualni rezultat |
desktop_wallpaper_matches | wallpaper_path | Zažene strožje preverjanje izvora, konfiguracije in videza ozadja namizja |
gui_click_element | x, y | Pošlje vnos kazalca na podlagi koordinat |
gui_form_fill | fields | Izpolni vnose obrazca, opisane s koordinatami |
gui_text_visible | text, contains ali ocr_contains | Uporabi OCR na zaslonu ali izbranem območju |
Izvajalec sprejme tudi združljivostne vzdevke za nekatere vrste OCR in ozadij. V novih receptih raje uporabite kanonična imena zgoraj. Testi po koordinatah so občutljivi na ločljivost; kjer je mogoče, uporabite OCR ali preverjanje izida.
Preverjanja benchmarkov so ločen format
cis_benchmark se pojavi v zgodovinskem besedišču trditev recepta, vendar
običajni razdeljevalnik trditev nima handlerja cis_benchmark. CIS in
druga preverjanja benchmarkov se dobavijo kot zapisi benchmarkov z audit_script
in jih izvede benchmark runner. Uporabite
delovni tok CIS benchmark, ne lastne trditve z
type: "cis_benchmark".
Razlaga rezultata
- Manjkajoči obvezni podatki dajo
error, ali pa lahko načrtovalnik trditev pred izvedbo z opozorilom izpusti. - Nedosegljiv cilj
on_vmdaskipped. - Neujemanje da
failed. - Samo
passedje potrdilen dokaz za to trditev.
Glejte Custom assertions za navodila pri pisanju.