package org.mockserver.mappers; import org.junit.Test; import org.mockserver.model.Cookie; import org.mockserver.model.Header; import org.mockserver.model.HttpResponse; import org.mockserver.model.HttpStatusCode; import org.springframework.mock.web.MockHttpServletResponse; import java.io.UnsupportedEncodingException; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; /** * @author jamesdbloom */ public class MockServerResponseToHttpServletResponseEncoderCookieHeaderTest { @Test public void shouldOnlyMapACookieIfThereIsNoSetCookieHeader() throws UnsupportedEncodingException { // given // - an HttpResponse HttpResponse httpResponse = new HttpResponse(); String cookieOne = "cookieName1=\"\"; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/"; String cookieTwo = "cookieName2=\"cookie==Value2\"; Version=1; Comment=\"Anonymous cookie for site\"; Max-Age=15552000; Expires=Sat, 19-Mar-2016 18:43:26 GMT; Path=/"; httpResponse.withHeaders( new Header("Set-Cookie", cookieOne), new Header("Set-Cookie", cookieTwo) ); httpResponse.withCookies( new Cookie("cookieName1", ""), new Cookie("cookieName2", "cookie==Value2"), new Cookie("cookieName3", "cookie==Value3") ); // - an HttpServletResponse MockHttpServletResponse httpServletResponse = new MockHttpServletResponse(); // when new MockServerResponseToHttpServletResponseEncoder().mapMockServerResponseToHttpServletResponse(httpResponse, httpServletResponse); // then assertEquals(HttpStatusCode.OK_200.code(), httpServletResponse.getStatus()); assertThat(httpServletResponse.getHeaders("Set-Cookie"), containsInAnyOrder( cookieOne, cookieTwo, "cookieName3=cookie==Value3" )); assertThat(httpServletResponse.getHeaderNames(), contains("Set-Cookie")); } }