Pielāgotas pārbaudes
Pielāgotas pārbaudes pārvērš prasību komandā, ko VM harness var izpildīt. Izmantojiet tās uzvedībai, ko maza noklusējuma testu kopa neaptver.
Struktūra
Katram custom-test grupai vajag aprakstu un vienu vai vairākas strukturētas pārbaudes:
{
"description": "Verify the web service",
"category": "application",
"assertions": [
{
"type": "service_running",
"description": "Nginx is active",
"params": { "service": "nginx" },
"expected_visual": "The evidence panel shows nginx active"
},
{
"type": "http_responds",
"description": "Local health endpoint responds",
"params": { "url": "http://localhost/health", "status": 200 }
}
]
}description ir obligāts gan grupai, gan katrai pārbaudei. on_vm
izvēlas VM ID vairāku VM testu vidē; bez tā izpildītājs izmanto
primary. expected_visual norāda paredzamo ekrānuzņēmuma stāvokli, kad
aktīvs vizuālās pierādījumu vārti.
Veidojiet pārbaudes ap rezultātiem
- Pārbaudiet pakalpojumu ar
service_running, ne tikai to, vai pakotne pastāv. - Pirms ārējā maršruta testēšanas pārbaudiet vietējo endpoint.
- Izmantojiet
file_containsvienam stabilam konfigurācijas faktam, ne visam faila snapshot, kas salūst pie nekaitīgas formatēšanas. - Izmantojiet
command_succeedstikai ar deterministiskām, neinteraktīvām komandām. - Garām komandām
timeout_secondspiešķiriet tikai kad vajag. Izpildītājs ierobežo komandu timeout līdz 1–1,800 sekundēm. - Nekad nelieciet akreditācijas datus komandās, aprakstos, gaidītajā izvadē vai URL; šie lauki var parādīties pierādījumos un žurnālos.
Neveiksmes semantika
Nezināms tips pašlaik tiek pieņemts receptes modelī, bet kļūst par
error, ja izpildītājs neatrod handler. Zināmas pārbaudes, kurām trūkst
obligāto parametru, var tikt izmestas testu plāna salikšanas laikā ar brīdinājumu.
Tāpēc validējiet recepti un pārskatiet materializēto testu plānu pirms
build sākšanas.
Ja on_vm nosauc VM, kura nav, pārbaude ir skipped. Neuzskatiet
skipped vai error par veiksmīgu verifikāciju.
Vairāku VM piemērs
{
"description": "Client reaches the API node",
"assertions": [
{
"type": "http_responds",
"description": "API health is reachable from the client",
"on_vm": "client",
"params": { "url": "http://api:8080/health", "status": 200 }
}
],
"environment": {
"vms": [
{ "vm_id": "client", "role": "client", "networks": ["lan"] },
{ "vm_id": "api", "role": "server", "networks": ["lan"] }
],
"networks": [
{ "network_id": "lan", "type": "isolated", "dhcp": true }
]
}
}VM vārdu atrisināšana ir atkarīga no testu topoloģijas un tās atklātajām adresēm. Apstipriniet renderēto topoloģiju un pārbaudes atrisināto komandu izpildes pierādījumos.
Katram atbalstītajam tipam un parametram skatiet Pārbaudes tipi.