/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.login.local.view; import static org.easymock.EasyMock.*; import javax.servlet.http.HttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import javax.servlet.http.HttpSession; import org.junit.Test; import static org.junit.Assert.*; import java.util.Locale; import org.springframework.web.servlet.ModelAndView; import com.octo.captcha.service.image.ImageCaptchaService; import java.awt.image.BufferedImage; public class CaptchaGeneratorControllerTest { @Test public final void testHandleRequestInternal() throws Exception { HttpSession session = createMock(HttpSession.class); expect(session.getId()).andReturn("SOMEID"); replay(session); HttpServletRequest request = createMock(HttpServletRequest.class); expect(request.getSession()).andReturn(session); expect(request.getLocale()).andReturn(Locale.US); replay(request); BufferedImage captcha; captcha = new BufferedImage(10, 20, BufferedImage.TYPE_INT_RGB); ImageCaptchaService captchaService = createMock(ImageCaptchaService.class); expect(captchaService.getImageChallengeForID("SOMEID", Locale.US)) .andReturn(captcha); replay(captchaService); MockHttpServletResponse response = new MockHttpServletResponse(); CaptchaGeneratorController controller; controller = new CaptchaGeneratorController(captchaService); ModelAndView mav = controller.handleRequestInternal(request, response); assertNull(mav); assertEquals("image/jpeg", response.getContentType()); assertTrue(response.getContentAsByteArray().length != 0); verify(captchaService); verify(request); } }