package pl.matisoft.soy.global.runtime.resolvers; import com.google.template.soy.data.SoyMapData; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Enumeration; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** * Created with IntelliJ IDEA. * User: mati * Date: 01/11/2013 * Time: 16:48 */ @RunWith(MockitoJUnitRunner.class) public class CookieDataResolverTest { private CookieDataResolver cookieResolver = new CookieDataResolver(); @Test public void testBindCookies() throws Exception { final SoyMapData soyMapData = new SoyMapData(); final HttpServletRequest request = mock(HttpServletRequest.class); final HttpServletResponse response = mock(HttpServletResponse.class); final Enumeration e = mock(Enumeration.class); when(e.hasMoreElements()).thenReturn(false); when(request.getParameterNames()).thenReturn(e); when(request.getHeaderNames()).thenReturn(e); when(request.getCookies()).thenReturn(new Cookie[]{new Cookie("name1", "value1"), new Cookie("name2", "value2")}); cookieResolver.resolveData(request, response, null, soyMapData); Assert.assertEquals("should not be value1", "value1", soyMapData.get("_request.cookie.name1.value").stringValue()); Assert.assertEquals("should not be value2", "value2", soyMapData.get("_request.cookie.name2.value").stringValue()); Assert.assertEquals("should not be name1", "name1", soyMapData.get("_request.cookie.name1.name").stringValue()); Assert.assertEquals("should not be name2", "name2", soyMapData.get("_request.cookie.name2.name").stringValue()); } }