mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
1、完善DeptServiceImpl单元测试覆盖率90%;2、新增security mock能力;3、移除postservice相关代码;4、移除部分无用模块的单测代码;
This commit is contained in:
+12
@@ -138,6 +138,18 @@ public class SecurityFrameworkUtils {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户的部门ID
|
||||
*
|
||||
*/
|
||||
public static Long getUserDeptId() {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
if (loginUser == null) {
|
||||
throw new ServiceException(GlobalErrorCodeConstants.UNAUTHORIZED);
|
||||
}
|
||||
return loginUser.getDeptId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前用户是否超级管理员
|
||||
*
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.cf.imes.framework.security.test;
|
||||
|
||||
import org.springframework.security.test.context.support.WithSecurityContext;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
/**
|
||||
* security mock loginuser annotation
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/9/8 11:16
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@WithSecurityContext(factory = WithMockLoginUserSecurityContextFactory.class)
|
||||
public @interface WithMockLoginUser {
|
||||
String username() default "";
|
||||
|
||||
long deptId() default 0L;
|
||||
|
||||
boolean isSuperAdmin() default false;
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.cf.imes.framework.security.test;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import com.cf.imes.framework.security.core.LoginUser;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.context.SecurityContext;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.test.context.support.WithSecurityContextFactory;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* security mock loginuser
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/9/8 11:17
|
||||
*/
|
||||
public class WithMockLoginUserSecurityContextFactory implements WithSecurityContextFactory<WithMockLoginUser> {
|
||||
|
||||
@Override
|
||||
public SecurityContext createSecurityContext(WithMockLoginUser annotation) {
|
||||
SecurityContext context = SecurityContextHolder.createEmptyContext();
|
||||
|
||||
LoginUser loginUser = new LoginUser();
|
||||
loginUser.setNickname(RandomUtil.randomString(10));
|
||||
loginUser.setDeptId(RandomUtil.randomLong());
|
||||
loginUser.setOrganId(RandomUtil.randomLong());
|
||||
loginUser.setIsSupAdmin(annotation.isSuperAdmin());
|
||||
|
||||
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
|
||||
loginUser, null, Collections.emptyList());
|
||||
context.setAuthentication(authenticationToken);
|
||||
|
||||
return context;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user