修改相关资源路径
This commit is contained in:
@@ -5,7 +5,6 @@ import com.label.annotation.RequireAuth;
|
||||
import com.label.annotation.RequireRole;
|
||||
import com.label.common.auth.TokenPrincipal;
|
||||
import com.label.common.context.CompanyContext;
|
||||
import com.label.common.context.UserContext;
|
||||
import com.label.interceptor.AuthInterceptor;
|
||||
import com.label.service.RedisService;
|
||||
import com.label.util.RedisUtil;
|
||||
@@ -22,6 +21,7 @@ import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -36,7 +36,6 @@ class AuthInterceptorTest {
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
CompanyContext.clear();
|
||||
UserContext.clear();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -62,7 +61,6 @@ class AuthInterceptorTest {
|
||||
assertThat(principal.getUserId()).isEqualTo(10L);
|
||||
assertThat(principal.getRole()).isEqualTo("ADMIN");
|
||||
assertThat(CompanyContext.get()).isEqualTo(20L);
|
||||
assertThat(UserContext.get()).isSameAs(principal);
|
||||
verify(redisService).expire(RedisUtil.tokenKey("valid-token"), 7200L);
|
||||
verify(redisService).expire(RedisUtil.userSessionsKey(10L), 7200L);
|
||||
}
|
||||
@@ -118,16 +116,21 @@ class AuthInterceptorTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("请求完成后清理用户和公司 ThreadLocal")
|
||||
void afterCompletionClearsContexts() throws Exception {
|
||||
@DisplayName("UserContext 已被移除,避免重复维护用户 ThreadLocal")
|
||||
void userContextClassShouldBeRemoved() {
|
||||
assertThatThrownBy(() -> Class.forName("com.label.common.context.UserContext"))
|
||||
.isInstanceOf(ClassNotFoundException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("请求完成后清理公司 ThreadLocal")
|
||||
void afterCompletionClearsCompanyContext() throws Exception {
|
||||
CompanyContext.set(20L);
|
||||
UserContext.set(new TokenPrincipal(10L, "ADMIN", 20L, "admin", "token"));
|
||||
|
||||
interceptor.afterCompletion(new MockHttpServletRequest(), new MockHttpServletResponse(),
|
||||
handler("adminOnly"), null);
|
||||
|
||||
assertThat(CompanyContext.get()).isEqualTo(-1L);
|
||||
assertThat(UserContext.get()).isNull();
|
||||
}
|
||||
|
||||
private static HandlerMethod handler(String methodName) throws NoSuchMethodException {
|
||||
|
||||
Reference in New Issue
Block a user