private void cookies(MockHttpServletRequest request) { List<Cookie> cookies = new ArrayList<>(); String cookieHeaderValue = header("Cookie"); if (cookieHeaderValue != null) { StringTokenizer tokens = new StringTokenizer(cookieHeaderValue, "=;"); while (tokens.hasMoreTokens()) { String cookieName = tokens.nextToken().trim(); Assert.isTrue(tokens.hasMoreTokens(), () -> "Expected value for cookie name '" + cookieName + "': full cookie header was [" + cookieHeaderValue + "]"); String cookieValue = tokens.nextToken().trim(); processCookie(request, cookies, new Cookie(cookieName, cookieValue)); } } Set<com.gargoylesoftware.htmlunit.util.Cookie> managedCookies = this.webClient.getCookies(this.webRequest.getUrl()); for (com.gargoylesoftware.htmlunit.util.Cookie cookie : managedCookies) { processCookie(request, cookies, new Cookie(cookie.getName(), cookie.getValue())); } Cookie[] parentCookies = request.getCookies(); if (parentCookies != null) { for (Cookie cookie : parentCookies) { cookies.add(cookie); } } if (!ObjectUtils.isEmpty(cookies)) { request.setCookies(cookies.toArray(new Cookie[0])); } }
request.setCookies(parentCookies);
protected void addCsrfCookie(MockHttpServletRequest request, Cookie cookie, Cookie[] cookies) { boolean replaced = false; for (int i = 0; i < cookies.length; i++) { Cookie c = cookies[i]; if (cookie.getName() == c.getName()) { cookies[i] = cookie; replaced = true; } } if (!replaced) { Cookie[] newcookies = new Cookie[cookies.length + 1]; System.arraycopy(cookies, 0, newcookies, 0, cookies.length); newcookies[cookies.length] = cookie; request.setCookies(newcookies); } }
private void setSessionCookie(String value) { this.request.setCookies(new Cookie(this.cookieName, base64Encode(value))); }
private void setSessionCookie(String sessionId) { this.request.setCookies(new Cookie("SESSION", base64Encode(sessionId))); }
@Test public void cookies() { Cookie cookie1 = new Cookie("foo", "bar"); Cookie cookie2 = new Cookie("baz", "qux"); request.setCookies(cookie1, cookie2); Cookie[] cookies = request.getCookies(); List<String> cookieHeaders = Collections.list(request.getHeaders("Cookie")); assertEquals(2, cookies.length); assertEquals("foo", cookies[0].getName()); assertEquals("bar", cookies[0].getValue()); assertEquals("baz", cookies[1].getName()); assertEquals("qux", cookies[1].getValue()); assertEquals(Arrays.asList("foo=bar", "baz=qux"), cookieHeaders); }
@Test public void readCookieSerializerUseBase64EncodingTrueValuesNotBase64() { this.sessionId = "&^%$*"; this.serializer.setUseBase64Encoding(true); this.request.setCookies(new Cookie(this.cookieName, this.sessionId)); assertThat(this.serializer.readCookieValues(this.request)).isEmpty(); }
private void nextRequest() throws Exception { Map<String, Cookie> nameToCookie = new HashMap<>(); if (this.request.getCookies() != null) { for (Cookie cookie : this.request.getCookies()) { nameToCookie.put(cookie.getName(), cookie); } } for (Cookie cookie : this.response.getCookies()) { nameToCookie.put(cookie.getName(), cookie); } Cookie[] nextRequestCookies = new ArrayList<>(nameToCookie.values()) .toArray(new Cookie[0]); setupRequest(); this.request.setCookies(nextRequestCookies); }
request.setCookies(this.cookies.toArray(new Cookie[0]));
@Test public void readCookieValuesNullCookieValue() { this.request.setCookies(createCookie(this.cookieName, null)); assertThat(this.serializer.readCookieValues(this.request)).isEmpty(); }
@Test public void readCookieValuesMulti() { String secondSession = "secondSessionId"; this.request.setCookies(createCookie(this.cookieName, this.sessionId), createCookie(this.cookieName, secondSession)); assertThat(this.serializer.readCookieValues(this.request)) .containsExactly(this.sessionId, secondSession); }
@Test public void readCookieValuesNullCookieValueAndJvmRoute() { this.serializer.setJvmRoute("123"); this.request.setCookies(createCookie(this.cookieName, null)); assertThat(this.serializer.readCookieValues(this.request)).isEmpty(); }
@Test public void readCookieValuesSingle() { this.request.setCookies(createCookie(this.cookieName, this.sessionId)); assertThat(this.serializer.readCookieValues(this.request)) .containsOnly(this.sessionId); }
@Test public void readCookieValuesMultiCustomSessionCookieName() { setCookieName("JSESSIONID"); String secondSession = "secondSessionId"; this.request.setCookies(createCookie(this.cookieName, this.sessionId), createCookie(this.cookieName, secondSession)); assertThat(this.serializer.readCookieValues(this.request)) .containsExactly(this.sessionId, secondSession); }
@Test public void readCookieJvmRouteRouteMissing() { String jvmRoute = "route"; this.serializer.setJvmRoute(jvmRoute); this.request.setCookies(createCookie(this.cookieName, this.sessionId)); assertThat(this.serializer.readCookieValues(this.request)) .containsOnly(this.sessionId); }
@Test public void readCookieValuesSingleAndInvalidName() { this.request.setCookies(createCookie(this.cookieName, this.sessionId), createCookie(this.cookieName + "INVALID", this.sessionId + "INVALID")); assertThat(this.serializer.readCookieValues(this.request)) .containsOnly(this.sessionId); }
@Test public void readCookieJvmRoute() { String jvmRoute = "route"; this.serializer.setJvmRoute(jvmRoute); this.request.setCookies( createCookie(this.cookieName, this.sessionId + "." + jvmRoute)); assertThat(this.serializer.readCookieValues(this.request)) .containsOnly(this.sessionId); }
@Test public void readCookieJvmRouteOnlyRoute() { String jvmRoute = "route"; this.serializer.setJvmRoute(jvmRoute); this.request.setCookies(createCookie(this.cookieName, "." + jvmRoute)); assertThat(this.serializer.readCookieValues(this.request)).containsOnly(""); }
@Test public void testLoad_Token_During_Get() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod(HttpMethod.GET.name()); request.setCookies(new Cookie(CookieBasedCsrfTokenRepository.DEFAULT_CSRF_COOKIE_NAME, "should-be-removed")); CookieBasedCsrfTokenRepository repo = new CookieBasedCsrfTokenRepository(); CsrfToken csrfToken = repo.loadToken(request); assertThat(csrfToken, nullValue()); }
@Test public void readCookieValuesNullCookieValueAndNotNullCookie() { this.serializer.setJvmRoute("123"); this.request.setCookies(createCookie(this.cookieName, null), createCookie(this.cookieName, this.sessionId)); assertThat(this.serializer.readCookieValues(this.request)) .containsOnly(this.sessionId); }