插件开发工具库,推荐依赖该工具库。
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.
 
 

60 lines
2.4 KiB

package com.fanruan.api.decision;
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;
import java.lang.reflect.Method;
/**
* @author Zed
* @version 10.0
* Created by Zed on 2020/4/30
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({FSConfig.class})
public class AuthorityKitTest {
@Test
public void setAuth() throws Exception {
Class<?> classBook = Class.forName("com.fanruan.api.decision.AuthorityKit");
Assert.assertNotNull(classBook);
Method method1 = classBook.getDeclaredMethod("setCustomRoleAuth", String.class, int.class, String.class, int.class);
Assert.assertNotNull(method1);
Method method2 = classBook.getDeclaredMethod("setUserAuth", String.class, int.class, String.class, int.class);
Assert.assertNotNull(method2);
Method method3 = classBook.getDeclaredMethod("setDepAuth", String.class, int.class, String.class, int.class);
Assert.assertNotNull(method3);
}
@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());
}
}