From ce75ceb0ca9fd5ebf2a2dbb1f21d19511b913f96 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 17 Oct 2025 14:06:16 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20UserContextResolver=EC=97=90?= =?UTF-8?q?=EC=84=9C=EC=9D=98=20DB=20=EC=A1=B0=ED=9A=8C=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/web/support/resolver/UserContextResolver.kt | 5 ++--- .../roomescape/common/types/CurrentUserContext.kt | 3 +-- .../sangdol/roomescape/user/business/UserService.kt | 12 ------------ 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/service/src/main/kotlin/com/sangdol/roomescape/auth/web/support/resolver/UserContextResolver.kt b/service/src/main/kotlin/com/sangdol/roomescape/auth/web/support/resolver/UserContextResolver.kt index bfb7ac61..9cac0441 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/auth/web/support/resolver/UserContextResolver.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/auth/web/support/resolver/UserContextResolver.kt @@ -6,7 +6,7 @@ import com.sangdol.roomescape.auth.exception.AuthException import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils import com.sangdol.roomescape.auth.web.support.User import com.sangdol.roomescape.auth.web.support.accessToken -import com.sangdol.roomescape.user.business.UserService +import com.sangdol.roomescape.common.types.CurrentUserContext import io.github.oshai.kotlinlogging.KLogger import io.github.oshai.kotlinlogging.KotlinLogging import jakarta.servlet.http.HttpServletRequest @@ -22,7 +22,6 @@ private val log: KLogger = KotlinLogging.logger {} @Component class UserContextResolver( private val jwtUtils: JwtUtils, - private val userService: UserService, ) : HandlerMethodArgumentResolver { override fun supportsParameter(parameter: MethodParameter): Boolean { @@ -43,7 +42,7 @@ class UserContextResolver( MdcPrincipalIdUtil.set(it) }.toLong() - return userService.findContextById(id) + return CurrentUserContext(id = id) } catch (e: Exception) { log.info { "[UserContextResolver] 회원 조회 실패. message=${e.message}" } throw AuthException(AuthErrorCode.MEMBER_NOT_FOUND) diff --git a/service/src/main/kotlin/com/sangdol/roomescape/common/types/CurrentUserContext.kt b/service/src/main/kotlin/com/sangdol/roomescape/common/types/CurrentUserContext.kt index e7d9e684..02211a7f 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/common/types/CurrentUserContext.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/common/types/CurrentUserContext.kt @@ -1,6 +1,5 @@ package com.sangdol.roomescape.common.types data class CurrentUserContext( - val id: Long, - val name: String, + val id: Long ) diff --git a/service/src/main/kotlin/com/sangdol/roomescape/user/business/UserService.kt b/service/src/main/kotlin/com/sangdol/roomescape/user/business/UserService.kt index ecf8c7db..f51eced6 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/user/business/UserService.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/user/business/UserService.kt @@ -1,7 +1,6 @@ package com.sangdol.roomescape.user.business import com.sangdol.common.persistence.IDGenerator -import com.sangdol.roomescape.common.types.CurrentUserContext import com.sangdol.roomescape.user.dto.UserContactResponse import com.sangdol.roomescape.user.dto.UserCreateRequest import com.sangdol.roomescape.user.dto.UserCreateResponse @@ -28,17 +27,6 @@ class UserService( private val userValidator: UserValidator, private val idGenerator: IDGenerator ) { - @Transactional(readOnly = true) - fun findContextById(id: Long): CurrentUserContext { - log.info { "[findContextById] 현재 로그인된 회원 조회 시작: id=${id}" } - val user: UserEntity = findOrThrow(id) - - return CurrentUserContext(user.id, user.name) - .also { - log.info { "[findContextById] 현재 로그인된 회원 조회 완료: id=${id}" } - } - } - @Transactional(readOnly = true) fun findCredentialsByAccount(email: String): UserLoginCredentials { log.info { "[findCredentialsByAccount] 회원 조회 시작: email=${email}" } -- 2.47.2 From 2f47cf56194f5be479a0333c927a22ec97180d42 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 17 Oct 2025 14:08:14 +0900 Subject: [PATCH 2/2] =?UTF-8?q?test:=20UserContextResolver=EC=97=90?= =?UTF-8?q?=EC=84=9C=EC=9D=98=20=EB=B3=80=EA=B2=BD=EC=82=AC=ED=95=AD=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roomescape/payment/PaymentAPITest.kt | 10 ----- .../reservation/ReservationApiTest.kt | 45 ------------------- .../reservation/ReservationConcurrencyTest.kt | 2 +- .../sangdol/roomescape/user/UserApiTest.kt | 9 ---- 4 files changed, 1 insertion(+), 65 deletions(-) diff --git a/service/src/test/kotlin/com/sangdol/roomescape/payment/PaymentAPITest.kt b/service/src/test/kotlin/com/sangdol/roomescape/payment/PaymentAPITest.kt index cdb12b63..8957b51a 100644 --- a/service/src/test/kotlin/com/sangdol/roomescape/payment/PaymentAPITest.kt +++ b/service/src/test/kotlin/com/sangdol/roomescape/payment/PaymentAPITest.kt @@ -43,16 +43,6 @@ class PaymentAPITest( expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - requestBody = PaymentFixture.cancelRequest, - expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND - ) - } } test("정상 취소") { diff --git a/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationApiTest.kt b/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationApiTest.kt index 8436fce6..15692676 100644 --- a/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationApiTest.kt +++ b/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationApiTest.kt @@ -49,15 +49,6 @@ class ReservationApiTest( expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND - ) - } } @@ -185,15 +176,6 @@ class ReservationApiTest( expectedErrorCode = AuthErrorCode.TOKEN_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.ACCESS_DENIED - ) - } } test("정상 응답") { @@ -238,15 +220,6 @@ class ReservationApiTest( expectedErrorCode = AuthErrorCode.TOKEN_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.ACCESS_DENIED - ) - } } test("정상 응답") { @@ -315,15 +288,6 @@ class ReservationApiTest( expectedErrorCode = AuthErrorCode.TOKEN_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.ACCESS_DENIED - ) - } } test("정상 응답") { @@ -377,15 +341,6 @@ class ReservationApiTest( expectedErrorCode = AuthErrorCode.TOKEN_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultHqAdminLogin().second, - method = HttpMethod.POST, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.ACCESS_DENIED - ) - } } context("정상 응답") { diff --git a/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationConcurrencyTest.kt b/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationConcurrencyTest.kt index e6866c11..da2ba6e3 100644 --- a/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationConcurrencyTest.kt +++ b/service/src/test/kotlin/com/sangdol/roomescape/reservation/ReservationConcurrencyTest.kt @@ -108,7 +108,7 @@ class ReservationConcurrencyTest( private fun createPendingReservation(user: UserEntity, schedule: ScheduleEntity): Long { return reservationService.createPendingReservation( - user = CurrentUserContext(id = user.id, name = user.name), + user = CurrentUserContext(id = user.id), request = PendingReservationCreateRequest( scheduleId = schedule.id, reserverName = user.name, diff --git a/service/src/test/kotlin/com/sangdol/roomescape/user/UserApiTest.kt b/service/src/test/kotlin/com/sangdol/roomescape/user/UserApiTest.kt index 5366c840..c47e1fca 100644 --- a/service/src/test/kotlin/com/sangdol/roomescape/user/UserApiTest.kt +++ b/service/src/test/kotlin/com/sangdol/roomescape/user/UserApiTest.kt @@ -148,15 +148,6 @@ class UserApiTest( expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND ) } - - test("관리자") { - runExceptionTest( - token = testAuthUtil.defaultStoreAdminLogin().second, - method = HttpMethod.GET, - endpoint = endpoint, - expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND - ) - } } test("정상 응답") { -- 2.47.2