RIHA (riigi infosüsteemi haldussüsteem)
Vt ka Testimine.
RIHA API testide loomisel kasutame Postman rakendust ja käsurealt testide jooksutamiseks Newman rakendust:
Näidete loomisel kasutan kahe rakenduse API teenust:
Girfi lahendus kodeerib andmeid reeglina JSON formaadis, erandina GET päringute puhul aga CGI nimi=urlencoded_väärtus
paaridena. RIHA Producer (ja ühtlasi teised CB lahendused) kasutavad x-www-form-urlencoded
väärtuspaare.
GET päring saatmine:
Params
nupu alt.Send
nupuga välja.POST päringu saatmine:
Send
nupuga välja.Testide loogika realiseeritakse Tests
sektsioonis - iga päring valideerib ja/või töötleb saadud HTTP vastust Postmanis kirjeldatud testide abil. Postmani testid kirjutatakse Javascriptis.
Kõige lihtsamat tüüpi testid valideerivad HTTP vastuskoodi - ehk kas päring õnnestus või mitte:
tests["Väli on lisatud"] = responseCode.code === 200;
Postmani testid võimaldavad kontrollida päringu ajalist kestvust, content-type
olemasolu jt sarnaseid parameetreid:
tests["Response time is less than 200ms"] = responseTime < 200;
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
var expected = "email1@email.na"
tests["Body contains string: " + expected] = responseBody.has(expected);
Postmani teste saab eksportida JSON failina Settings
menüüs Data
alampunkti all.
Postmani testikomplekte saab mugavalt jagada ka Share
funktsiooniga:
Ubuntu operatsioonisüsteemil peab testide käivitamiseks kasutama käsurea rakendust Newman. Testikomplekti käivitamine Newman’iga käib run käsuga:
$ newman run examples/sample-collection.json;
Lisaks JSON vormingule võtab Newman sisendiks ka URL-is defineeritud testikomplekti:
$ newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv;
Newmani väljundit - s.t raporti vormingut - saab käsurealt parameetriga --reporter
seada JSON-i, HTML-i või JUnit/XML
vormingusse.
Testide käivitamisel on oluline eristada, milliste keskkondade API-sid testid kontrollivad. Postmanis on keskkondade haldamiseks funktsionaalsus Manage Environments
, mis annab võimaluse igale keskkonnale määrata suvalise hulga muutujaid, mida saab rakendada testides kui ka mistahes HTTP päringu osas (nt URL).
API testide käivitamiseks läbi Jenkinsi on kolm võimalust:
Mistahes varianti rakendades, tuleb Jenkinsis testide käivitamiseks luua uus ehitamise samm (Build step
), mille tüübiks valida Execute shell
. Avanenud aknasse lisada käsk newman run ..
(kus testid paiknevad).
On soovitav testid liita lähtekoodiga ja kasutada Jenkinsi Source Code Management
funktsionaalsust, sidumaks lähtekood Jenkinsi töölauaga.
Riigi Infosüsteemi Amet · 2017-2018 · https://github.com/e-gov/RIHA-Index