diff --git a/dsms-engine-application/src/test/java/com/dsms/common/handler/AccessDeniedHandlerImplTest.java b/dsms-engine-application/src/test/java/com/dsms/common/handler/AccessDeniedHandlerImplTest.java new file mode 100644 index 0000000000000000000000000000000000000000..ea32a164101c47bfca1e628c58ea24e5078144e3 --- /dev/null +++ b/dsms-engine-application/src/test/java/com/dsms/common/handler/AccessDeniedHandlerImplTest.java @@ -0,0 +1,31 @@ +package com.dsms.common.handler; + +import com.dsms.common.constant.ResultCode; +import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import lombok.SneakyThrows; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import org.springframework.security.access.AccessDeniedException; + + +class AccessDeniedHandlerImplTest { + + @Test + @SneakyThrows + void handle() { + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + HttpServletResponse response = Mockito.mock(HttpServletResponse.class); + PrintWriter printWriter = Mockito.mock(PrintWriter.class); + Mockito.when(response.getWriter()).thenReturn(printWriter); + + AccessDeniedHandlerImpl accessDeniedHandler = new AccessDeniedHandlerImpl(); + + accessDeniedHandler.handle(request, response, new AccessDeniedException(ResultCode.FORBIDDEN.getMessage())); + + Mockito.verify(response).setStatus(ResultCode.FORBIDDEN.getCode()); + Mockito.verify(response).setCharacterEncoding(StandardCharsets.UTF_8.displayName()); + } +} \ No newline at end of file