/** * Adds cookies into this response by adding "Set-Cookie" headers. * * @param cookies cookies * @return {@code this} */ public Builder addCookies(ResponseCookie... cookies) { return addCookies(asList(cookies)); }
/** * Sets the cookies on this response by removing existing "Set-Cookie" headers and adding new ones. * * @param cookies cookies * @return {@code this} */ public Builder cookies(Collection<ResponseCookie> cookies) { requireNonNull(cookies); headers.remove(SET_COOKIE); return addCookies(cookies); }
@Test public void transformerRemovesCookiesWithList() { LiveHttpResponse response = response() .addCookies(ImmutableList.of(responseCookie("x", "y").build())) .build() .newBuilder() .removeCookies(ImmutableList.of("x")) .build(); assertEquals(response.cookie("x"), Optional.empty()); }
@Override public Transformer addCookies(ResponseCookie... cookies) { builder.addCookies(cookies); return this; }
@Test public void addsCookies() { LiveHttpResponse response = response() .addCookies(responseCookie("x", "x1").build(), responseCookie("y", "y1").build()) .build(); assertThat(response.cookies(), containsInAnyOrder(responseCookie("x", "x1").build(), responseCookie("y", "y1").build())); }
@Override public Transformer addCookies(Collection<ResponseCookie> cookies) { builder.addCookies(cookies); return this; }
@Test public void removesCookies() { LiveHttpResponse r1 = response() .addCookies(responseCookie("x", "x1").build(), responseCookie("y", "y1").build()) .build(); LiveHttpResponse r2 = r1.newBuilder() .removeCookies("x") .removeCookies("foo") // ensure that trying to remove a non-existent cookie does not cause Exception .build(); assertThat(r2.cookies(), contains(responseCookie("y", "y1").build())); }
@Test public void removesCookiesInSameBuilder() { LiveHttpResponse r1 = response() .addCookies(responseCookie("x", "x1").build()) .removeCookies("x") .build(); assertThat(r1.cookie("x"), isAbsent()); }
@Test public void addsCookiesToExistingCookies() { LiveHttpResponse response = response() .addCookies(responseCookie("z", "z1").build()) .addCookies(responseCookie("x", "x1").build(), responseCookie("y", "y1").build()) .build(); assertThat(response.cookies(), containsInAnyOrder(responseCookie("x", "x1").build(), responseCookie("y", "y1").build(), responseCookie("z", "z1").build())); }
@Test public void transformerRemovesCookies() { LiveHttpResponse response = response() .addCookies(ImmutableList.of(responseCookie("x", "y").build())) .build() .newBuilder() .removeCookies("x") .build(); assertEquals(response.cookie("x"), Optional.empty()); }