插件开发工具库,推荐依赖该工具库。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
4.4 KiB

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);
}
}