Bonjour
Avec Cactus il est possible de tester les Servlet et Filtres.
Pour positionner un cookie, dans la doc, il est dit d'utiliser la methode addCookie de WebRequest
request.addCookie("testcookie", "Valeur").
Il est aussi possible de positionner l'Url :
request.setURL("localhost", "", "", "index.jsp", "");
Si vous utilisez SEULEMENT le addCookie, il est en suite possible de le récupérer dans la methode de test :
Si vous utilisez le addCookie ET le setURL alors, dans la methode de test, il n'est pas possible de récupérer le(s) cookie(s) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 javax.servlet.http.Cookie[] cookies = request.getCookies(); assertNotNull("No cookies in request", cookies); for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals("testcookie")) { assertEquals("valeur", cookies[i].getValue()); } }
request.getCookies() retourne null.
En cherchant j'ai trouvé une methode pour contourner cela :
On initialise les cookie(s) avec :
Dans la methode de test vous pouvez bien récupérer le(s) cookie(s).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 org.apache.cactus.Cookie cookie = new org.apache.cactus.Cookie("localhost", "testcookie", "valeur"); cookie.setPath("/"); request.addCookie(cookie);
Je voulais savoir si c'est un fonctionnement normal ou un bug de Cactus ?
Partager