package com.vtence.molecule.http;
import org.junit.Test;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
public class CookieTest {
@Test
public void formatsToSetCookieValue() {
Cookie cookie = new Cookie("name", "value").path("/path")
.domain("domain")
.maxAge(1200);
assertThat("Set-Cookie value", cookie.toString(), equalTo(
"name=value; version=1; path=/path; domain=domain; max-age=1200"
));
}
@Test
public void usesRootPathAsDefault() {
Cookie cookie = new Cookie("name", "value").domain("domain")
.maxAge(1200)
.httpOnly(true)
.secure(true);
assertThat("Set-Cookie value", cookie.toString(),
equalTo("name=value; version=1; path=/; domain=domain; max-age=1200; secure; httponly"));
}
@Test
public void handlesAbsenceOfDomain() {
Cookie cookie = new Cookie("name", "value").maxAge(1200)
.httpOnly(true)
.secure(true);
assertThat("Set-Cookie value", cookie.toString(),
equalTo("name=value; version=1; path=/; max-age=1200; secure; httponly"));
}
@Test
public void formatsSecureCookies() {
Cookie cookie = new Cookie("name", "value").secure(true);
assertThat("Set-Cookie value", cookie.toString(), equalTo("name=value; version=1; path=/; secure"));
}
@Test
public void formatsProtectedCookies() {
Cookie cookie = new Cookie("name", "value").httpOnly(true);
assertThat("Set-Cookie value", cookie.toString(), equalTo("name=value; version=1; path=/; httponly"));
}
}