private bool CompareName(TestPermissionInfo permission) { if (this.Name == null) return permission.Name == null; else return this.Name.Equals(permission.Name); }
private bool CompareAction(TestPermissionInfo permission) { if (this.Action == null) return permission.Action == null; else return this.Action.Equals(permission.Action); }
public void PermissionInfoOperatorTest() { PrincipalTokenHolder.CurrentPrincipal = PrincipalTokenHolder.GetPrincipal("admin"); PermissionInfo p = new TestPermissionInfo("test", "test"); try { p++; Assert.IsTrue(true, "代码必须运行到这里表示当前用户具有test权限"); } catch (Exception e) { Assert.Fail("测试权限信息的操作符++失败,当前用户应该具有test权限,但执行++操作却抛出权限异常"); } p = new TestPermissionInfo("testX", "testX"); try { p++; Assert.Fail("测试权限信息的操作符++失败,当前用户不应该具有testX权限"); } catch (Exception e) { Assert.IsInstanceOfType(e, typeof(AccessException), "当前抛出的异常不是AccessException"); } PrincipalTokenHolder.ClearCurrentToken();//清除当前用户 }