Browse Source

KERNEL-4414 finekit接口添加

pull/40/head
lidongy 4 years ago
parent
commit
22c028c7df
  1. 92
      src/main/java/com/fanruan/api/decision/AuthorityKit.java
  2. 12
      src/main/java/com/fanruan/api/decision/user/UserKit.java
  3. 13
      src/main/java/com/fanruan/api/util/DateKit.java
  4. 79
      src/test/java/com/fanruan/api/decision/AuthorityKitTest.java
  5. 39
      src/test/java/com/fanruan/api/decision/user/UserKitTest.java
  6. 9
      src/test/java/com/fanruan/api/util/DateKitTest.java

92
src/main/java/com/fanruan/api/decision/AuthorityKit.java

@ -1,5 +1,13 @@
package com.fanruan.api.decision;
import com.fr.decision.authority.AuthorityContext;
import com.fr.decision.authority.controller.CustomRoleController;
import com.fr.decision.authority.controller.DefaultAuthorityController;
import com.fr.decision.authority.controller.DepartmentController;
import com.fr.decision.authority.controller.PostController;
import com.fr.decision.authority.controller.UserController;
import com.fr.decision.config.FSConfig;
/**
* @author richie
* @version 10.0
@ -8,4 +16,88 @@ package com.fanruan.api.decision;
*/
public class AuthorityKit {
/**
* 是否开启了分级权限
*
* @return 开启返回true关闭返回false
*/
public static boolean isGradeAuthority() {
return FSConfig.getInstance().getAuthorizeAttr().isGradeAuthority();
}
/**
* 是否开启了数据连接权限控制
*
* @return 开启返回true关闭返回false
*/
public static boolean isDataConnectionAuthority() {
return FSConfig.getInstance().getAuthorizeAttr().isDataConnectionAuthority();
}
/**
* 是否开启了目录编辑权限
*
* @return 开启返回true关闭返回false
*/
public static boolean isEditReportAuthority() {
return FSConfig.getInstance().getAuthorizeAttr().isEditReportAuthority();
}
/**
* 获取默认权限实体控制器
*
* @return 权限实体控制器
*/
public static DefaultAuthorityController getAuthorityController() {
return AuthorityContext.getInstance().getAuthorityController();
}
/**
* 获取扩展权限实体控制器
*
* @param controllerInterface 权限数据记录的类对象
* @return 权限实体控制器
* @throws Exception 根据权限数据记录的类对象找不到对应的权限实体控制器则抛出此异常
*/
public static <T> T getAuthorityController(Class<T> controllerInterface) throws Exception {
return AuthorityContext.getInstance().getAuthorityController(controllerInterface);
}
/**
* 获取部门控制器
*
* @return 部门控制器
*/
public static DepartmentController getDepartmentController() {
return AuthorityContext.getInstance().getDepartmentController();
}
/**
* 获取职务控制器
*
* @return 职务控制器
*/
public static PostController getPostController() {
return AuthorityContext.getInstance().getPostController();
}
/**
* 获取自定义角色控制器
*
* @return 自定义角色控制器
*/
public static CustomRoleController getCustomRoleController() {
return AuthorityContext.getInstance().getCustomRoleController();
}
/**
* 获取用户控制器
*
* @return 用户控制器
*/
public static UserController getUserController() {
return AuthorityContext.getInstance().getUserController();
}
}

12
src/main/java/com/fanruan/api/decision/user/UserKit.java

@ -72,7 +72,17 @@ public class UserKit {
* @return 用户名数组
* @throws Exception 如果邮箱不存在则抛出此异常
*/
public static List<String> getUserNamesFromEmail(String email) throws Exception {
public static List<String> getUserNamesFromEmail(String email) throws Exception {
return UserService.getInstance().getUserNamesFromEmail(email);
}
/**
* 获取超级管理角色下的用户ID列表
*
* @return 用户ID列表
* @throws Exception 异常
*/
public static List<String> getAdminUserIdList() throws Exception {
return UserService.getInstance().getAdminUserIdList();
}
}

13
src/main/java/com/fanruan/api/util/DateKit.java

@ -8,11 +8,22 @@ public class DateKit {
/**
* 将字符串转化为日期
*
* @param str 字符串
* @param str 字符串
* @param returnNull 转化失败的时候是否返回null
* @return 将字符串转化为相应的日期值
*/
public static Date string2Date(String str, boolean returnNull) {
return DateUtils.string2Date(str, returnNull);
}
/**
* 取得某日期时间的特定表示格式的字符串
*
* @param format 时间格式
* @param date 某日期Date
* @return 某日期的字符串
*/
public static String getDate2Str(String format, Date date) {
return DateUtils.getDate2Str(format, date);
}
}

79
src/test/java/com/fanruan/api/decision/AuthorityKitTest.java

@ -0,0 +1,79 @@
package com.fanruan.api.decision;
import com.fr.decision.authority.AuthorityContext;
import com.fr.decision.authority.controller.ConnectionAuthorityController;
import com.fr.decision.authority.controller.CustomRoleController;
import com.fr.decision.authority.controller.DefaultAuthorityController;
import com.fr.decision.authority.controller.DepartmentController;
import com.fr.decision.authority.controller.PostController;
import com.fr.decision.authority.controller.UserController;
import com.fr.decision.authorize.AuthorizeAttr;
import com.fr.decision.config.FSConfig;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
/**
* @author lidongy
* @version 10.0
* Created by lidongy on 2020/6/29
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({FSConfig.class, AuthorityContext.class})
public class AuthorityKitTest {
@Test
public void testIsAuthorizeAttrOpen() {
AuthorizeAttr authorizeAttr = EasyMock.createMock(AuthorizeAttr.class);
EasyMock.expect(authorizeAttr.isGradeAuthority()).andReturn(true).anyTimes();
EasyMock.expect(authorizeAttr.isDataConnectionAuthority()).andReturn(true).anyTimes();
EasyMock.expect(authorizeAttr.isEditReportAuthority()).andReturn(true).anyTimes();
EasyMock.replay(authorizeAttr);
FSConfig fsConfig = EasyMock.createMock(FSConfig.class);
EasyMock.expect(fsConfig.getAuthorizeAttr()).andReturn(authorizeAttr).anyTimes();
EasyMock.replay(fsConfig);
PowerMock.mockStatic(FSConfig.class);
EasyMock.expect(FSConfig.getInstance()).andReturn(fsConfig).anyTimes();
PowerMock.replay(FSConfig.class);
Assert.assertEquals(AuthorityKit.isGradeAuthority(), FSConfig.getInstance().getAuthorizeAttr().isGradeAuthority());
Assert.assertEquals(AuthorityKit.isDataConnectionAuthority(), FSConfig.getInstance().getAuthorizeAttr().isDataConnectionAuthority());
Assert.assertEquals(AuthorityKit.isEditReportAuthority(), FSConfig.getInstance().getAuthorizeAttr().isEditReportAuthority());
}
@Test
public void testGetController() throws Exception {
DefaultAuthorityController defaultAuthorityController = EasyMock.createMock(DefaultAuthorityController.class);
CustomRoleController customRoleController = EasyMock.createMock(CustomRoleController.class);
DepartmentController departmentController = EasyMock.createMock(DepartmentController.class);
PostController postController = EasyMock.createMock(PostController.class);
UserController userController = EasyMock.createMock(UserController.class);
ConnectionAuthorityController connectionAuthorityController = EasyMock.createMock(ConnectionAuthorityController.class);
AuthorityContext authorityContext = EasyMock.createMock(AuthorityContext.class);
EasyMock.expect(authorityContext.getAuthorityController()).andReturn(defaultAuthorityController).anyTimes();
EasyMock.expect(authorityContext.getCustomRoleController()).andReturn(customRoleController).anyTimes();
EasyMock.expect(authorityContext.getDepartmentController()).andReturn(departmentController).anyTimes();
EasyMock.expect(authorityContext.getPostController()).andReturn(postController).anyTimes();
EasyMock.expect(authorityContext.getUserController()).andReturn(userController).anyTimes();
EasyMock.expect(authorityContext.getAuthorityController(ConnectionAuthorityController.class)).andReturn(connectionAuthorityController).anyTimes();
EasyMock.replay(authorityContext);
PowerMock.mockStatic(AuthorityContext.class);
EasyMock.expect(AuthorityContext.getInstance()).andReturn(authorityContext).anyTimes();
PowerMock.replay(AuthorityContext.class);
Assert.assertEquals(AuthorityKit.getAuthorityController(), defaultAuthorityController);
Assert.assertEquals(AuthorityKit.getCustomRoleController(), customRoleController);
Assert.assertEquals(AuthorityKit.getDepartmentController(), departmentController);
Assert.assertEquals(AuthorityKit.getPostController(), postController);
Assert.assertEquals(AuthorityKit.getUserController(), userController);
Assert.assertEquals(AuthorityKit.getAuthorityController(ConnectionAuthorityController.class), connectionAuthorityController);
}
}

39
src/test/java/com/fanruan/api/decision/user/UserKitTest.java

@ -0,0 +1,39 @@
package com.fanruan.api.decision.user;
import com.fr.decision.webservice.v10.user.UserService;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import java.util.ArrayList;
import java.util.List;
/**
* @author lidongy
* @version 10.0
* Created by lidongy on 2020/6/29
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({UserService.class})
public class UserKitTest {
@Test
public void testGetAdminUserIdList() throws Exception {
List<String> adminUserIdList = new ArrayList<>();
adminUserIdList.add("1");
UserService userService = EasyMock.createMock(UserService.class);
EasyMock.expect(userService.getAdminUserIdList()).andReturn(adminUserIdList);
EasyMock.replay(userService);
PowerMock.mockStatic(UserService.class);
EasyMock.expect(UserService.getInstance()).andReturn(userService);
PowerMock.replay(UserService.class);
Assert.assertEquals(UserKit.getAdminUserIdList(), adminUserIdList);
}
}

9
src/test/java/com/fanruan/api/util/DateKitTest.java

@ -3,16 +3,23 @@ package com.fanruan.api.util;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.junit.Assert;
import org.junit.Test;
public class DateKitTest {
@Test
public void string2Date() throws Exception{
public void string2Date() throws Exception {
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = dateFormat2.parse("2019-02-20");
Assert.assertEquals(DateKit.string2Date("2019-02-20", false), myDate);
Assert.assertEquals(DateKit.string2Date("abcd", false), new Date());
Assert.assertEquals(DateKit.string2Date("abcd", true), null);
}
@Test
public void testGetDate2Str() throws Exception {
String date = DateKit.getDate2Str("yyyy-MM-dd", new Date(0));
Assert.assertEquals(date, "1970-01-01");
}
}

Loading…
Cancel
Save