From b9cb3491852e93795330b24e0138c03e82f7dda4 Mon Sep 17 00:00:00 2001 From: agree0002 Date: Mon, 6 Jul 2026 21:44:36 +0900 Subject: [PATCH 1/3] [refactor/#386] MockBean -> MockitoBean --- .../auth/domain/token/JwtControllerTest.java | 4 ++-- .../usecase/LectureSecurityCheckerTest.java | 8 ++++---- .../usecase/StrictSignUpSchedulerTest.java | 4 ++-- .../api/securityConfig/RoleHierarchyTest.java | 6 +++--- .../web/BudgetApplicationControllerTest.java | 6 +++--- .../api/web/BudgetHistoryControllerTest.java | 4 ++-- .../api/web/ClubActivityControllerTest.java | 4 ++-- .../api/web/ClubHistoryControllerTest.java | 4 ++-- .../api/web/CommentControllerTest.java | 6 +++--- .../api/web/ContestBoardControllerTest.java | 6 +++--- .../api/web/LectureControllerTest.java | 6 +++--- .../inhabas/api/web/MemberControllerTest.java | 8 ++++---- .../inhabas/api/web/MenuControllerTest.java | 4 ++-- .../inhabas/api/web/MyInfoControllerTest.java | 6 +++--- .../api/web/NormalBoardControllerTest.java | 6 +++--- .../api/web/PolicyTermControllerTest.java | 4 ++-- .../api/web/ProjectBoardControllerTest.java | 6 +++--- .../api/web/ScholarshipControllerTest.java | 4 ++-- .../web/ScholarshipHistoryControllerTest.java | 4 ++-- .../inhabas/api/web/SignUpControllerTest.java | 4 ++-- .../api/web/SignUpScheduleControllerTest.java | 4 ++-- .../testAnnotataion/DefaultWebMvcTest.java | 18 +++++++++++++++++ .../testAnnotataion/NoSecureWebMvcTest.java | 6 +++--- .../testConfig/InterceptorConfigMockBean.java | 12 ----------- .../TestConfigurationForSecurity.java | 20 +++++-------------- 25 files changed, 80 insertions(+), 84 deletions(-) delete mode 100644 resource-server/src/test/java/com/inhabas/testConfig/InterceptorConfigMockBean.java diff --git a/module-auth/src/test/java/com/inhabas/api/auth/domain/token/JwtControllerTest.java b/module-auth/src/test/java/com/inhabas/api/auth/domain/token/JwtControllerTest.java index dba9f263b..d50c5e03d 100644 --- a/module-auth/src/test/java/com/inhabas/api/auth/domain/token/JwtControllerTest.java +++ b/module-auth/src/test/java/com/inhabas/api/auth/domain/token/JwtControllerTest.java @@ -11,9 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.ComponentScan; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.databind.ObjectMapper; @@ -30,7 +30,7 @@ public class JwtControllerTest { @Autowired private MockMvc mockMvc; - @MockBean private TokenReIssuer tokenReIssuer; + @MockitoBean private TokenReIssuer tokenReIssuer; @Autowired private ObjectMapper objectMapper; diff --git a/resource-server/src/test/java/com/inhabas/api/domain/lecture/usecase/LectureSecurityCheckerTest.java b/resource-server/src/test/java/com/inhabas/api/domain/lecture/usecase/LectureSecurityCheckerTest.java index 08596505c..222bd0ed7 100644 --- a/resource-server/src/test/java/com/inhabas/api/domain/lecture/usecase/LectureSecurityCheckerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/domain/lecture/usecase/LectureSecurityCheckerTest.java @@ -1,8 +1,8 @@ package com.inhabas.api.domain.lecture.usecase; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Import; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import com.inhabas.api.domain.lecture.repository.LectureRepository; import com.inhabas.api.web.LectureController; @@ -14,11 +14,11 @@ public class LectureSecurityCheckerTest { @Autowired private LectureSecurityChecker securityChecker; - @MockBean private LectureRepository repository; + @MockitoBean private LectureRepository repository; - @MockBean private LectureServiceImpl lectureService; + @MockitoBean private LectureServiceImpl lectureService; - @MockBean private LectureStudentServiceImpl studentService; + @MockitoBean private LectureStudentServiceImpl studentService; // @DisplayName("강의자만 접근할 수 있다.") // @Test diff --git a/resource-server/src/test/java/com/inhabas/api/domain/signUpSchedule/domain/usecase/StrictSignUpSchedulerTest.java b/resource-server/src/test/java/com/inhabas/api/domain/signUpSchedule/domain/usecase/StrictSignUpSchedulerTest.java index cf201c8df..cc0f91a92 100644 --- a/resource-server/src/test/java/com/inhabas/api/domain/signUpSchedule/domain/usecase/StrictSignUpSchedulerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/domain/signUpSchedule/domain/usecase/StrictSignUpSchedulerTest.java @@ -9,9 +9,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.context.annotation.Import; import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import com.inhabas.api.domain.signUpSchedule.domain.entity.SignUpSchedule; import com.inhabas.api.domain.signUpSchedule.dto.SignUpScheduleDto; @@ -29,7 +29,7 @@ public class StrictSignUpSchedulerTest { @Autowired SignUpSchedulerStrict signUpScheduler; - @SpyBean SignUpScheduleRepository signUpScheduleRepository; + @MockitoSpyBean SignUpScheduleRepository signUpScheduleRepository; @Autowired TestEntityManager entityManager; diff --git a/resource-server/src/test/java/com/inhabas/api/securityConfig/RoleHierarchyTest.java b/resource-server/src/test/java/com/inhabas/api/securityConfig/RoleHierarchyTest.java index 45bc94962..470021c9e 100644 --- a/resource-server/src/test/java/com/inhabas/api/securityConfig/RoleHierarchyTest.java +++ b/resource-server/src/test/java/com/inhabas/api/securityConfig/RoleHierarchyTest.java @@ -12,13 +12,13 @@ public class RoleHierarchyTest { // @Autowired // NormalBoardController boardController; // - // @MockBean + // @MockitoBean // NormalBoardService boardService; // - // @MockBean + // @MockitoBean // MemberManageService memberService; // - // @MockBean + // @MockitoBean // JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint; // // diff --git a/resource-server/src/test/java/com/inhabas/api/web/BudgetApplicationControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/BudgetApplicationControllerTest.java index 92c3bb2cd..a800aab53 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/BudgetApplicationControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/BudgetApplicationControllerTest.java @@ -19,8 +19,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.web.servlet.MockMvc; @@ -46,8 +46,8 @@ public class BudgetApplicationControllerTest { @Autowired private MockMvc mvc; @Autowired private ObjectMapper objectMapper; - @MockBean private BudgetApplicationService budgetApplicationService; - @MockBean private BudgetApplicationProcessor applicationProcessor; + @MockitoBean private BudgetApplicationService budgetApplicationService; + @MockitoBean private BudgetApplicationProcessor applicationProcessor; @DisplayName("예산지원요청 글 목록 조회 200") @Test diff --git a/resource-server/src/test/java/com/inhabas/api/web/BudgetHistoryControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/BudgetHistoryControllerTest.java index 544a41dd2..67820b1e9 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/BudgetHistoryControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/BudgetHistoryControllerTest.java @@ -16,8 +16,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -37,7 +37,7 @@ public class BudgetHistoryControllerTest { @Autowired private MockMvc mvc; @Autowired private ObjectMapper objectMapper; - @MockBean private BudgetHistoryService budgetHistoryService; + @MockitoBean private BudgetHistoryService budgetHistoryService; @DisplayName("회계 내역의 모든 연도 조회 200.") @Test diff --git a/resource-server/src/test/java/com/inhabas/api/web/ClubActivityControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ClubActivityControllerTest.java index 602b14f72..7070fb5da 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ClubActivityControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ClubActivityControllerTest.java @@ -18,8 +18,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -42,7 +42,7 @@ public class ClubActivityControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private ClubActivityService clubActivityService; + @MockitoBean private ClubActivityService clubActivityService; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/ClubHistoryControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ClubHistoryControllerTest.java index 33db66c06..b03e41852 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ClubHistoryControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ClubHistoryControllerTest.java @@ -15,8 +15,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -38,7 +38,7 @@ public class ClubHistoryControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private ClubHistoryService clubHistoryService; + @MockitoBean private ClubHistoryService clubHistoryService; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/CommentControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/CommentControllerTest.java index 6b1e344dd..b3f532a0c 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/CommentControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/CommentControllerTest.java @@ -12,8 +12,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; @@ -43,9 +43,9 @@ public class CommentControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private CommentServiceImpl commentService; + @MockitoBean private CommentServiceImpl commentService; - @MockBean private BoardSecurityChecker boardSecurityChecker; + @MockitoBean private BoardSecurityChecker boardSecurityChecker; @BeforeEach void setUp() { diff --git a/resource-server/src/test/java/com/inhabas/api/web/ContestBoardControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ContestBoardControllerTest.java index 24afefe4c..3ee8d0b92 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ContestBoardControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ContestBoardControllerTest.java @@ -18,8 +18,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -47,8 +47,8 @@ public class ContestBoardControllerTest { @Autowired private MockMvc mvc; @Autowired private ObjectMapper objectMapper; - @MockBean private ContestBoardService contestBoardService; - @MockBean private BaseBoardRepository baseBoardRepository; + @MockitoBean private ContestBoardService contestBoardService; + @MockitoBean private BaseBoardRepository baseBoardRepository; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/LectureControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/LectureControllerTest.java index 736e03f68..8424fc7cf 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/LectureControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/LectureControllerTest.java @@ -8,8 +8,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.inhabas.api.domain.lecture.usecase.LectureService; @@ -24,9 +24,9 @@ public class LectureControllerTest { @Autowired private MockMvc mockMvc; - @MockBean private LectureService lectureService; + @MockitoBean private LectureService lectureService; - @MockBean private LectureStudentService studentService; + @MockitoBean private LectureStudentService studentService; // @DisplayName("강의 등록 uri 를 정상적으로 호출 및 응답.") // @Test diff --git a/resource-server/src/test/java/com/inhabas/api/web/MemberControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/MemberControllerTest.java index 6f10b4e8d..b639d721c 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/MemberControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/MemberControllerTest.java @@ -17,8 +17,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -45,9 +45,9 @@ public class MemberControllerTest { @Autowired private MockMvc mvc; - @MockBean private MemberManageService memberManageService; - @MockBean private AnswerService answerService; - @MockBean private MemberRepository memberRepository; + @MockitoBean private MemberManageService memberManageService; + @MockitoBean private AnswerService answerService; + @MockitoBean private MemberRepository memberRepository; @Autowired private ObjectMapper objectMapper; @DisplayName("(신입)미승인 멤버 정보 목록을 불러온다") diff --git a/resource-server/src/test/java/com/inhabas/api/web/MenuControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/MenuControllerTest.java index f61d8134d..0806f1673 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/MenuControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/MenuControllerTest.java @@ -12,7 +12,7 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.inhabas.api.domain.menu.domain.valueObject.MenuId; @@ -28,7 +28,7 @@ @NoSecureWebMvcTest(MenuController.class) public class MenuControllerTest { - @MockBean private MenuService menuService; + @MockitoBean private MenuService menuService; @Autowired private MockMvc mvc; diff --git a/resource-server/src/test/java/com/inhabas/api/web/MyInfoControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/MyInfoControllerTest.java index 0b4bbd860..7a7f6ad07 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/MyInfoControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/MyInfoControllerTest.java @@ -14,9 +14,9 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -41,8 +41,8 @@ class MyInfoControllerTest { @Autowired private MockMvc mvc; - @MockBean private MemberProfileService memberProfileService; - @MockBean private MyInfoService myInfoService; + @MockitoBean private MemberProfileService memberProfileService; + @MockitoBean private MyInfoService myInfoService; @Autowired private ObjectMapper objectMapper; private String jsonOf(Object o) throws JsonProcessingException { diff --git a/resource-server/src/test/java/com/inhabas/api/web/NormalBoardControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/NormalBoardControllerTest.java index 873081252..59c7d01b0 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/NormalBoardControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/NormalBoardControllerTest.java @@ -15,8 +15,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -44,8 +44,8 @@ public class NormalBoardControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private NormalBoardService normalBoardService; - @MockBean private BaseBoardRepository baseBoardRepository; + @MockitoBean private NormalBoardService normalBoardService; + @MockitoBean private BaseBoardRepository baseBoardRepository; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/PolicyTermControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/PolicyTermControllerTest.java index f2ff18b71..4bde1dde6 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/PolicyTermControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/PolicyTermControllerTest.java @@ -15,8 +15,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -36,7 +36,7 @@ public class PolicyTermControllerTest { @Autowired private MockMvc mvc; - @MockBean private PolicyTermService policyTermService; + @MockitoBean private PolicyTermService policyTermService; @Autowired private ObjectMapper objectMapper; diff --git a/resource-server/src/test/java/com/inhabas/api/web/ProjectBoardControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ProjectBoardControllerTest.java index 9c9ba9a2e..66d125f8e 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ProjectBoardControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ProjectBoardControllerTest.java @@ -15,8 +15,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -44,8 +44,8 @@ public class ProjectBoardControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private ProjectBoardService projectBoardService; - @MockBean private BaseBoardRepository baseBoardRepository; + @MockitoBean private ProjectBoardService projectBoardService; + @MockitoBean private BaseBoardRepository baseBoardRepository; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/ScholarshipControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ScholarshipControllerTest.java index 653fdae25..b26586d92 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ScholarshipControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ScholarshipControllerTest.java @@ -17,8 +17,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -43,7 +43,7 @@ public class ScholarshipControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private ScholarshipBoardService scholarshipBoardService; + @MockitoBean private ScholarshipBoardService scholarshipBoardService; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/ScholarshipHistoryControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/ScholarshipHistoryControllerTest.java index c4da4cd97..e322a6952 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/ScholarshipHistoryControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/ScholarshipHistoryControllerTest.java @@ -18,8 +18,8 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -40,7 +40,7 @@ public class ScholarshipHistoryControllerTest { @Autowired private MockMvc mvc; @Autowired private ObjectMapper objectMapper; - @MockBean private ScholarshipHistoryService scholarshipHistoryService; + @MockitoBean private ScholarshipHistoryService scholarshipHistoryService; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/SignUpControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/SignUpControllerTest.java index 5105a1188..e39b2862e 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/SignUpControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/SignUpControllerTest.java @@ -16,8 +16,8 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.core.JsonProcessingException; @@ -44,7 +44,7 @@ public class SignUpControllerTest { @Autowired private ObjectMapper objectMapper; - @MockBean private SignUpService signUpService; + @MockitoBean private SignUpService signUpService; private String jsonOf(Object response) throws JsonProcessingException { return objectMapper.writeValueAsString(response); diff --git a/resource-server/src/test/java/com/inhabas/api/web/SignUpScheduleControllerTest.java b/resource-server/src/test/java/com/inhabas/api/web/SignUpScheduleControllerTest.java index 5d3941b5a..b6e8c2e4e 100644 --- a/resource-server/src/test/java/com/inhabas/api/web/SignUpScheduleControllerTest.java +++ b/resource-server/src/test/java/com/inhabas/api/web/SignUpScheduleControllerTest.java @@ -14,8 +14,8 @@ import java.time.LocalDateTime; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.databind.ObjectMapper; @@ -35,7 +35,7 @@ public class SignUpScheduleControllerTest { @Autowired private MockMvc mvc; - @MockBean private SignUpScheduler signUpScheduler; + @MockitoBean private SignUpScheduler signUpScheduler; @DisplayName("회원가입 일정을 조회한다.") @Test diff --git a/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java b/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java index 32899d83b..54b2d4f03 100644 --- a/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java +++ b/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java @@ -9,9 +9,17 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.context.annotation.Import; import org.springframework.core.annotation.AliasFor; +import org.springframework.security.authentication.AuthenticationManager; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import com.inhabas.api.auth.config.AuthBeansConfig; import com.inhabas.api.auth.domain.oauth2.member.security.DefaultRoleHierarchy; +import com.inhabas.api.auth.domain.token.JwtAccessDeniedHandler; +import com.inhabas.api.auth.domain.token.jwtUtils.JwtAuthenticationProvider; +import com.inhabas.api.auth.domain.token.jwtUtils.JwtTokenUtil; +import com.inhabas.api.auth.domain.token.securityFilter.JwtAuthenticationEntryPoint; +import com.inhabas.api.web.interceptor.InterceptorConfig; import com.inhabas.testConfig.TestConfigurationForSecurity; /** @@ -28,6 +36,16 @@ excludeAutoConfiguration = { OAuth2ClientAutoConfiguration.class }) // disable autoload OAuth2-Client-Components from test properties +@MockitoBean( + types = { + InterceptorConfig.class, + JwtAuthenticationEntryPoint.class, + JwtAccessDeniedHandler.class, + JwtTokenUtil.class, + JwtAuthenticationProvider.class, + AuthBeansConfig.class, + AuthenticationManager.class + }) @Import({DefaultRoleHierarchy.class, TestConfigurationForSecurity.class}) public @interface DefaultWebMvcTest { @AliasFor(annotation = WebMvcTest.class, attribute = "value") diff --git a/resource-server/src/test/java/com/inhabas/testAnnotataion/NoSecureWebMvcTest.java b/resource-server/src/test/java/com/inhabas/testAnnotataion/NoSecureWebMvcTest.java index 6c51e88d1..18fabb39a 100644 --- a/resource-server/src/test/java/com/inhabas/testAnnotataion/NoSecureWebMvcTest.java +++ b/resource-server/src/test/java/com/inhabas/testAnnotataion/NoSecureWebMvcTest.java @@ -8,11 +8,11 @@ import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientWebSecurityAutoConfiguration; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.context.annotation.Import; import org.springframework.core.annotation.AliasFor; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; -import com.inhabas.testConfig.InterceptorConfigMockBean; +import com.inhabas.api.web.interceptor.InterceptorConfig; /** * WebMvcTest(excludeAutoConfiguration = {SecurityAutoConfiguration.class, @@ -29,7 +29,7 @@ SecurityAutoConfiguration.class, OAuth2ClientWebSecurityAutoConfiguration.class }) // disable default spring-security configuration -@Import(InterceptorConfigMockBean.class) +@MockitoBean(types = InterceptorConfig.class) public @interface NoSecureWebMvcTest { @AliasFor(annotation = WebMvcTest.class, attribute = "value") diff --git a/resource-server/src/test/java/com/inhabas/testConfig/InterceptorConfigMockBean.java b/resource-server/src/test/java/com/inhabas/testConfig/InterceptorConfigMockBean.java deleted file mode 100644 index 8bb59ae88..000000000 --- a/resource-server/src/test/java/com/inhabas/testConfig/InterceptorConfigMockBean.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.inhabas.testConfig; - -import org.springframework.boot.test.context.TestConfiguration; -import org.springframework.boot.test.mock.mockito.MockBean; - -import com.inhabas.api.web.interceptor.InterceptorConfig; - -@TestConfiguration -public class InterceptorConfigMockBean { - - @MockBean public InterceptorConfig interceptorConfig; -} diff --git a/resource-server/src/test/java/com/inhabas/testConfig/TestConfigurationForSecurity.java b/resource-server/src/test/java/com/inhabas/testConfig/TestConfigurationForSecurity.java index 5d1047698..8a9a71fcf 100644 --- a/resource-server/src/test/java/com/inhabas/testConfig/TestConfigurationForSecurity.java +++ b/resource-server/src/test/java/com/inhabas/testConfig/TestConfigurationForSecurity.java @@ -4,7 +4,6 @@ import java.util.List; import org.springframework.boot.test.context.TestConfiguration; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.web.util.matcher.AndRequestMatcher; @@ -12,27 +11,18 @@ import com.inhabas.api.auth.config.AuthBeansConfig; import com.inhabas.api.auth.domain.token.CustomRequestMatcher; -import com.inhabas.api.auth.domain.token.JwtAccessDeniedHandler; -import com.inhabas.api.auth.domain.token.jwtUtils.JwtAuthenticationProvider; import com.inhabas.api.auth.domain.token.jwtUtils.JwtTokenUtil; -import com.inhabas.api.auth.domain.token.securityFilter.JwtAuthenticationEntryPoint; import com.inhabas.api.auth.domain.token.securityFilter.JwtAuthenticationFilter; -import com.inhabas.api.web.interceptor.InterceptorConfig; @TestConfiguration public class TestConfigurationForSecurity { - @MockBean InterceptorConfig interceptorConfig; - @MockBean JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint; - @MockBean JwtAccessDeniedHandler jwtAccessDeniedHandler; - @MockBean JwtTokenUtil jwtTokenUtil; - @MockBean JwtAuthenticationProvider jwtAuthenticationProvider; - @MockBean AuthBeansConfig authBeansConfig; - - @MockBean private AuthenticationManager authenticationManager; - @Bean - public JwtAuthenticationFilter jwtAuthenticationFilter() throws Exception { + public JwtAuthenticationFilter jwtAuthenticationFilter( + JwtTokenUtil jwtTokenUtil, + AuthBeansConfig authBeansConfig, + AuthenticationManager authenticationManager) + throws Exception { final List skipPaths = new ArrayList<>(); skipPaths.add(new CustomRequestMatcher("/**", "GET")); skipPaths.add(new CustomRequestMatcher("/**", "POST")); From 621fbb7dcc1a235ca64eeb672e09e07119b432a2 Mon Sep 17 00:00:00 2001 From: agree0002 Date: Mon, 6 Jul 2026 21:50:18 +0900 Subject: [PATCH 2/3] [refactor/#386] AntPathRequestMatcher -> PathPatternRequestMatcher --- .../auth/domain/token/CustomRequestMatcher.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/module-auth/src/main/java/com/inhabas/api/auth/domain/token/CustomRequestMatcher.java b/module-auth/src/main/java/com/inhabas/api/auth/domain/token/CustomRequestMatcher.java index b407debc5..d928975f6 100644 --- a/module-auth/src/main/java/com/inhabas/api/auth/domain/token/CustomRequestMatcher.java +++ b/module-auth/src/main/java/com/inhabas/api/auth/domain/token/CustomRequestMatcher.java @@ -2,25 +2,22 @@ import jakarta.servlet.http.HttpServletRequest; -import org.springframework.security.web.util.matcher.AntPathRequestMatcher; +import org.springframework.http.HttpMethod; +import org.springframework.security.web.servlet.util.matcher.PathPatternRequestMatcher; import org.springframework.security.web.util.matcher.RequestMatcher; /** 기존 matches와 달리 request와 일치하지 않으면 True 반환 */ public class CustomRequestMatcher implements RequestMatcher { - private final AntPathRequestMatcher antPathRequestMatcher; - private final String httpMethod; + private final RequestMatcher requestMatcher; public CustomRequestMatcher(String path, String httpMethod) { - - this.httpMethod = httpMethod; - this.antPathRequestMatcher = new AntPathRequestMatcher(path, httpMethod); + this.requestMatcher = + PathPatternRequestMatcher.withDefaults().matcher(HttpMethod.valueOf(httpMethod), path); } @Override public boolean matches(HttpServletRequest request) { - - String requestMethod = request.getMethod(); - return !(httpMethod.equalsIgnoreCase(requestMethod) && antPathRequestMatcher.matches(request)); + return !requestMatcher.matches(request); } } From e73afb62946106a438533ebb84b72237699fc4dd Mon Sep 17 00:00:00 2001 From: agree0002 Date: Mon, 6 Jul 2026 21:59:10 +0900 Subject: [PATCH 3/3] OAuth2ClientAutoConfiguration -> OAuth2ClientAutoConfiguration, OAuth2ClientWebSecurityAutoConfiguration --- .../java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java b/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java index 54b2d4f03..584f0af2e 100644 --- a/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java +++ b/resource-server/src/test/java/com/inhabas/testAnnotataion/DefaultWebMvcTest.java @@ -5,7 +5,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration; +import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientAutoConfiguration; +import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientWebSecurityAutoConfiguration; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.context.annotation.Import; import org.springframework.core.annotation.AliasFor; @@ -34,7 +35,8 @@ @ActiveProfiles("test") // for disable cloud config & security filter chain @WebMvcTest( excludeAutoConfiguration = { - OAuth2ClientAutoConfiguration.class + OAuth2ClientAutoConfiguration.class, + OAuth2ClientWebSecurityAutoConfiguration.class }) // disable autoload OAuth2-Client-Components from test properties @MockitoBean( types = {