Exemple #1
0
        public void TestGrantPermission()
        {
            int perm = 0;
            PermissionCalculator calculator = new PermissionCalculator();

            //首次授权
            var result   = calculator.GrantPermission(perm, Model.Permission.PermissionMask.Add);
            var expected = (int)Model.Permission.PermissionMask.Add;

            Assert.AreEqual(expected, result);
            //Console.WriteLine(result);

            //授予其他权限
            result   = calculator.GrantPermission(result, Model.Permission.PermissionMask.Delete);
            expected = expected + (int)Model.Permission.PermissionMask.Delete;
            Assert.AreEqual(expected, result);

            //重复给相同权限
            result = calculator.GrantPermission(result, Model.Permission.PermissionMask.Delete);
            Assert.AreEqual(expected, result);

            result   = calculator.GrantPermission(result, Model.Permission.PermissionMask.Edit);
            expected = expected + (int)Model.Permission.PermissionMask.Edit;
            Assert.AreEqual(expected, result);
        }
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var calc = new PermissionCalculator("500");

            if (!calc.ValidatePermission())
            {
                throw new Exception();
            }
        }
Exemple #3
0
        public void TestHasPermission()
        {
            int perm = 103;
            PermissionCalculator calculator = new PermissionCalculator();

            var result = calculator.HasPermission(perm, Model.Permission.PermissionMask.Add);

            Assert.AreEqual(true, result);
            Console.WriteLine(result);

            perm   = -1;
            result = calculator.HasPermission(perm, Model.Permission.PermissionMask.Add);
            Assert.AreEqual(true, result);
        }
Exemple #4
0
        public void TestRevokePermission()
        {
            int perm = 255;
            PermissionCalculator calculator = new PermissionCalculator();

            var result   = calculator.RevokePermission(perm, Model.Permission.PermissionMask.Add);
            var expected = perm - (int)Model.Permission.PermissionMask.Add;

            Assert.AreEqual(expected, result);

            result = calculator.RevokePermission(result, Model.Permission.PermissionMask.Add);
            Assert.AreEqual(expected, result);

            result   = calculator.RevokePermission(result, Model.Permission.PermissionMask.Delete);
            expected = expected - (int)Model.Permission.PermissionMask.Delete;
            Assert.AreEqual(expected, result);
        }
Exemple #5
0
 public void Remove(Permission permission)
 {
     _value = PermissionCalculator.Remove(_value, permission);
 }
Exemple #6
0
 public void Add(Permission permission)
 {
     _value = PermissionCalculator.Add(_value, permission);
 }
Exemple #7
0
 public bool Has(Permission permission)
 {
     return(PermissionCalculator.Has(_value, permission));
 }