2015-10-02 1 views
2

J'utilise une bibliothèque repos-assurée pour les tests d'API et il semble qu'un nouveau cookie ne puisse pas être défini. Je peux cependant modifier le cookie qui est défini par le serveur.Impossible de définir le cookie dans la requête

given() 
    .cookie("cookie1", "true") 
    .get(url) 
    .then() 
    .assertThat().cookie("cookie1", "true"); 
// Fails with "Cookie "cookie1" was not 
// defined in the response. Cookies are: cookie2=true, cookie3=true 


given() 
    .cookie("cookie2", "false") 
    .get(url) 
    .then() 
    .assertThat().cookie("cookie2", "false"); 
// PASS 

Répondre

1

Selon REST-assured Documentation, vous devez appeler les when() et body() méthodes:

given() 
.cookie("cookie1", "true") 
.when() // <---- 
.get(url) 
.then() 
.assertThat() 
.body(equalTo("true")) // <---- 

S'il vous plaît noter que je ne l'ai jamais utilisé cette API et je suis juste en train de spéculer sur la base des spécifications fournis.

+0

Merci pour la recherche en elle, mais ce n'est pas un problème. 'when()' est juste du sucre syntaxique et 'body' est pour affirmer le corps de la réponse. Les cookies de réponse sont confirmés comme dans mon message original, voir https://code.google.com/p/rest-assured/wiki/Usage#Verifying_Response_Data – finspin

-1

Vous devriez essayer quelque chose comme ça

given(). 
       proxy(host("http.proxy.someDomain.com").withScheme("http").withPort(xxxx)). 
+0

Pouvez-vous donner un peu de raisonnement en plus de voter? – san1deep2set3hi