Fejlécek, cookie-k és paraméterek REST-biztosítással

1. Áttekintés

Ebben a gyors bemutatóban néhány REST által biztosított speciális forgatókönyvet tárunk fel. Korábban a REST-assured című cikket tanulmányoztuk a Guide to REST-assured című útmutatóban.

Folytatni, bemutatunk példákat, amelyek bemutatják, hogyan állíthatunk be fejléceket, cookie-kat és paramétereket a kéréseinkhez.

A beállítás megegyezik az előző cikkel, ezért merüljünk el példáinkban.

2. Paraméterek beállítása

Most beszéljük meg, hogyan adhatunk meg különböző paramétereket a kérésünknek - kezdve az útvonal-paraméterekkel.

2.1. Útvonal-paraméterek

Tudjuk használni pathParam (paraméter-név, érték) elérési út paraméter megadásához:

@Test public void whenUsePathParam_thenOK () {given (). PathParam ("user", "eugenp") .when (). Get ("/ users / {user} / repos") .then (). StatusCode (200); }

Több útvonal-paraméter hozzáadásához a pathParams () módszer:

@Test public void whenUseMultiplePathParam_thenOK () {megadott (). PathParams ("tulajdonos", "eugenp", "repo", "oktatóanyagok"). Amikor (). Get ("/ repos / {tulajdonos} / {repo}") .ma (). statusCode (200); adott (). pathParams ("tulajdonos", "eugenp"). mikor (). get ("/ repos / {tulajdonos} / {repo}", "oktatóanyagok"). akkor (). statusCode (200); }

Ebben a példában megnevezett útvonal-paramétereket használtunk, de név nélküli paramétereket is felvehetünk, sőt kombinálhatjuk a kettőt:

adott (). pathParams ("tulajdonos", "eugenp"). mikor (). get ("/ repos / {tulajdonos} / {repo}", "oktatóanyagok"). akkor (). statusCode (200);

A kapott URL ebben az esetben a //api.github.com/repos/eugenp/tutorials.

Vegye figyelembe, hogy a meg nem nevezett paraméterek indexalapúak.

2.2. Lekérdezési paraméterek

Ezután nézzük meg, hogyan adhatjuk meg a lekérdezési paramétereket a segítségével queryParam ():

@Test public void whenUseQueryParam_thenOK () {given (). QueryParam ("q", "john"). When (). Get ("/ search / users") .then (). StatusCode (200); adott (). param ("q", "john"). mikor (). get ("/ keresés / felhasználók"). akkor (). statusCode (200); }

A param () módszer úgy fog működni queryParam () a GET kérésekkel.

Több lekérdezési paraméter hozzáadásához akár kettőt is láncolhatunk queryParam () módszereket, vagy adja hozzá a paramétereket a queryParams () módszer:

@Test public void whenUseMultipleQueryParam_thenOK () {int perPage = 20; adott (). queryParam ("q", "john"). queryParam ("per_page", perPage) .when (). get ("/ search / users") .then (). body ("items.size () ", van (perPage)); adott (). queryParams ("q", "john", "per_page", perPage). amikor (). get ("/ search / users"). majd (). body ("items.size ()", az (oldalanként)); }

2.3. Űrlapparaméterek

Végül megadhatjuk az űrlapparamétereket a segítségével formParam ():

@Test public void whenUseFormParam_thenSuccess () {megadott (). FormParams ("felhasználónév", "john", "jelszó", "1234"). Post ("/"); adott (). params ("felhasználónév", "john", "jelszó", "1234"). post ("/"); }

A param () módszer cselekszik az élet formParam () POST kérésekhez.

Vegye figyelembe azt is formParam () hozzáteszi a Tartalom típus fejléc „application / x-www-form-urlencoded“.

3. Fejlécek beállítása

Következő, segítségével testreszabhatjuk a kérés fejlécünket fejléc():

@Test public void whenUseCustomHeader_thenOK () {given (). Header ("User-Agent", "MyAppName"). When (). Get ("/ users / eugenp") .then (). StatusCode (200); }

Ebben a példában használtuk fejléc() beállítani a User-Agent fejléc.

Felvehetünk több értékű fejlécet is ugyanazzal a módszerrel:

@Test public void whenUseMultipleHeaderValues_thenOK () {given (). Header ("My-Header", "val1", "val2") .when (). Get ("/ users / eugenp") .then (). StatusCode (200) ); }

Ebben a példában két fejlécet fogunk kérni: My-Header: val1 és My-Header: val2.

Több fejléc hozzáadásához a fejlécek () módszer:

@Test public void whenUseMultipleHeaders_thenOK () {given (). Header ("User-Agent", "MyAppName", "Accept-Charset", "utf-8") .when (). Get ("/ users / eugenp") .ma (). statusCode (200); }

4. Cookie-k hozzáadása

Kérésünkre egyedi sütiket is megadhatunk a aprósütemény():

@Test public void whenUseCookie_thenOK () {given (). Cookie ("session_id", "1234"). When (). Get ("/ users / eugenp") .then (). StatusCode (200); }

A cookie-t testreszabhatjuk a cookie segítségével Építész:

@Test public void whenUseCookieBuilder_thenOK () {Cookie myCookie = new Cookie.Builder ("session_id", "1234") .setSecured (true) .setComment ("session id cookie") .build (); adott (). süti (myCookie). amikor (). get ("/ users / eugenp") .then (). statusCode (200); }

5. Következtetés

Ebben a cikkben bemutattuk, hogyan adhatjuk meg a kérési paramétereket, a fejléceket és a sütiket a REST-assured használatakor.

És mint mindig, a példák teljes forráskódja elérhető a GitHubon.