@Override
    public CustomResponse<TokenResponse> refreshToken(TokenRefreshRequest tokenRefreshRequest) {
        return userServiceClient.refreshToken(tokenRefreshRequest);
    }
@Test
    void refreshToken_ValidTokenRefreshRequest_ReturnsCustomResponse() {

        // Given
        TokenRefreshRequest tokenRefreshRequest = TokenRefreshRequest.builder()
                .refreshToken("validRefreshToken")
                .build();

        TokenResponse tokenResponse = TokenResponse.builder()
                .accessToken("newAccessToken")
                .accessTokenExpiresAt(System.currentTimeMillis() + 3600)
                .refreshToken("newRefreshToken")
                .build();

        CustomResponse<TokenResponse> expectedResponse = CustomResponse.successOf(tokenResponse);

        // When
        when(userServiceClient.refreshToken(any(TokenRefreshRequest.class)))
                .thenReturn(expectedResponse);

        // Then
        CustomResponse<TokenResponse> result = refreshTokenService.refreshToken(tokenRefreshRequest);

        assertNotNull(result);
        assertTrue(result.getIsSuccess());
        assertEquals(HttpStatus.OK, result.getHttpStatus());
        assertEquals(tokenResponse, result.getResponse());

        // Verify
        verify(userServiceClient, times(1)).refreshToken(any(TokenRefreshRequest.class));

    }