View Javadoc
1   /*
2    * Licensed under the GPL License. You may not use this file except in compliance with the License.
3    * You may obtain a copy of the License at
4    *
5    *   https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
6    *
7    * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
8    * WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
9    * PURPOSE.
10   */
11  package psiprobe.controllers.error;
12  
13  import static org.junit.jupiter.api.Assertions.assertEquals;
14  
15  import com.codebox.bean.JavaBeanTester;
16  
17  import org.junit.jupiter.api.Test;
18  import org.springframework.mock.web.MockHttpServletRequest;
19  import org.springframework.mock.web.MockHttpServletResponse;
20  
21  /**
22   * The Class Error403ControllerTest.
23   */
24  class Error403ControllerTest {
25  
26    /**
27     * Javabean tester.
28     */
29    @Test
30    void javabeanTester() {
31      JavaBeanTester.builder(Error403Controller.class).skip("applicationContext", "supportedMethods")
32          .test();
33    }
34  
35    @Test
36    void handleRequestReturnsAjaxViewForAjaxUris() throws Exception {
37      Error403Controller controller = new Error403Controller();
38      controller.setViewName("errors/403");
39      controller.setAjaxViewName("errors/403_ajax");
40      controller.setAjaxExtension(".ajax");
41  
42      MockHttpServletRequest request = new MockHttpServletRequest("GET", "/403.htm");
43      request.setAttribute("jakarta.servlet.error.request_uri", "/sql/query.ajax");
44  
45      assertEquals("errors/403_ajax",
46          controller.handleRequest(request, new MockHttpServletResponse()).getViewName());
47    }
48  
49    @Test
50    void handleRequestReturnsDefaultViewForNonAjaxUris() throws Exception {
51      Error403Controller controller = new Error403Controller();
52      controller.setViewName("errors/403");
53      controller.setAjaxViewName("errors/403_ajax");
54      controller.setAjaxExtension(".ajax");
55  
56      MockHttpServletRequest request = new MockHttpServletRequest("GET", "/403.htm");
57      request.setAttribute("jakarta.servlet.error.request_uri", "/home.htm");
58  
59      assertEquals("errors/403",
60          controller.handleRequest(request, new MockHttpServletResponse()).getViewName());
61    }
62  
63  }