package egovframework.rte.ptl.mvc.exception; import static org.junit.Assert.assertEquals; import java.util.Properties; import javax.servlet.http.HttpServletResponse; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver; /** * * 시스템명 : 실행환경시스템 * 서브시스템명 : 화면처리 * 요구사항ID : REQ-RTE-114 * 요구사항명 : 예외처리기능. * 설명 : 발생하는 에러에 따른 처리로직 개발 확보함. * * @author Ham Cheol */ public class ExceptionResolverTest { /** * * * @throws Exception */ @Test public void testExceptionViewNameMapping() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); SimpleMappingExceptionResolver exceptionResolver = new SimpleMappingExceptionResolver(); Object handler = new Object(); Properties props = new Properties(); props.setProperty("java.lang.Exception", "genericErrorView"); props.setProperty("java.lang.NumberFormatException","numberFormatErrorView"); exceptionResolver.setExceptionMappings(props); ModelAndView mav = exceptionResolver.resolveException(request, response, handler, new Exception()); assertEquals("genericErrorView", mav.getViewName()); ModelAndView mav2 = exceptionResolver.resolveException(request, response, handler, new NumberFormatException()); assertEquals("numberFormatErrorView", mav2.getViewName()); } @Test public void testErrorStatusViewNameMapping() { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); SimpleMappingExceptionResolver exceptionResolver = new SimpleMappingExceptionResolver(); Object handler = new Object(); exceptionResolver.setDefaultErrorView("genericErrorView"); exceptionResolver.setDefaultStatusCode(HttpServletResponse.SC_BAD_REQUEST); ModelAndView mav = exceptionResolver.resolveException(request, response, handler, new Exception()); assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatus()); } }