Kohandatud kontrollid
Kohandatud kontrollid muudavad nõude käsuks, mida VM harness saab käivitada. Kasutage neid käitumise jaoks, mida väike vaikimisi testikomplekt ei kata.
Struktuur
Iga custom-test grupp vajab kirjelduse ja ühte või mitut struktureeritud kontrolli:
{
"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 on nõutav nii grupil kui igal kontrollil. on_vm
valib VM ID mitme VM testikeskkonnas; ilma selleta kasutab käivitaja
primary. expected_visual annab kavandatud ekraanipildi oleku, kui
visuaalse tõendite värav on aktiivne.
Kujundage kontrolle tulemuste ümber
- Kontrollige teenust
service_runningabil, mitte ainult seda, kas pakett on olemas. - Enne välise marsruudi testimist kontrollige kohalikku endpointi.
- Kasutage
file_containsühe stabiilse konfiguratsioonifakti jaoks, mitte terve faili snapshoti, mis murdub kahjutu vorminduse tõttu. - Kasutage
command_succeedsainult deterministlike, mitteinteraktiivsete käskudega. - Pikadele käskudele andke
timeout_secondsainult vajadusel. Täitja piirab käskude timeouti vahemikku 1–1,800 sekundit. - Ärge pange mandaate käskudesse, kirjeldustesse, oodatud väljundisse ega URL-idesse; need väljad võivad ilmuda tõendites ja logides.
Ebaõnnestumise semantika
Tundmatu tüüp on praegu retseptimudelis lubatud, kuid muutub
error-iks, kui täitja ei leia handlerit. Tuntud kontrollid, millel puuduvad
nõutavad parameetrid, võidakse testiplaani koostamisel hoiatusega välja jätta.
Seetõttu valideerige retsept ja vaadake materialiseeritud testiplaan üle enne
buildi alustamist.
Kui on_vm nimetab VM-i, mida pole, on kontroll skipped. Ärge käsitlege
skipped ega error eduka verifikatsioonina.
Mitme VM näide
{
"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 nime lahendamine sõltub testitopoloogiast ja selle avastatud aadressidest. Kinnitage renderdatud topoloogia ja kontrolli lahendatud käsk jooksu tõendites.
Iga toetatud tüübi ja parameetri kohta vaadake Kontrollide tüübid.