示例#1
0
        public void Allows_If_Field_Is_A_Normal_Field_And_User_Have_Fields_Permission()
        {
            var mockPermissions = new MockPermissions(perm => perm == ReadPermission);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, false);

            replacer.Validate(new Criteria(TestRow.Fields.NormalField.PropertyName));
        }
示例#2
0
        public void Throws_If_Field_Is_A_Lookup_Permission_And_Lookup_Mode_Is_True_And_User_Doesnt_Have_Fields_Permission()
        {
            var mockPermissions = new MockPermissions(perm => false);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, true);

            Assert.Throws <ValidationError>(() => replacer.Validate(new Criteria(TestRow.Fields.ExtraReadPermissionWithLookupIncludeField.PropertyName)));
        }
示例#3
0
        public void Throws_If_Field_Has_DenyFiltering_Flag()
        {
            var mockPermissions = new MockPermissions(perm => false);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, false);

            Assert.Throws <ValidationError>(() => replacer.Validate(new Criteria(TestRow.Fields.DenyFilteringField.PropertyName)));
        }
示例#4
0
        public void Throws_If_Field_Is_Not_A_Lookup_Permission_And_Lookup_Mode_Is_True()
        {
            var mockPermissions = new MockPermissions(perm => false);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, true);

            Assert.Throws <ValidationError>(() => replacer.Validate(new Criteria(TestRow.Fields.NormalField.PropertyName)));
        }
示例#5
0
        public void Throws_If_Field_ReadPermission_And_User_Doesnt_Have_Permission()
        {
            var mockPermissions = new MockPermissions(perm => false);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, false);

            Assert.Throws <ValidationError>(() => replacer.Validate(new Criteria(TestRow.Fields.ExtraReadPermissionField.PropertyName)));
        }
示例#6
0
        public void Throws_If_Field_Has_MinSelectLevel_Of_Never()
        {
            var mockPermissions = new MockPermissions(perm => false);
            var replacer        = new CriteriaFieldExpressionReplacer(new TestRow(), mockPermissions, false);

            Assert.Throws <ValidationError>(() => replacer.Validate(new Criteria(TestRow.Fields.MinSelectLevelNeverField.PropertyName)));
        }
        public void ShouldDelegateSimplePermissionsToUnderlyingOne()
        {
            var expected = false;
            var ps       = new MockPermissions(p => expected);

            var lops = new LogicOperatorPermissionService(ps);

            Assert.False(lops.HasPermission(""));
            Assert.False(lops.HasPermission("A"));
            Assert.False(lops.HasPermission("B:C"));

            expected = true;
            Assert.True(lops.HasPermission(""));
            Assert.True(lops.HasPermission("A"));
            Assert.True(lops.HasPermission("B:C"));
        }
 public NullRequestContext WithPermissions(Func <string, bool> hasPermission)
 {
     Permissions = new MockPermissions(hasPermission);
     return(this);
 }
 public NullRequestContext AsGuest()
 {
     UserAccessor = new MockUserAccessor(() => TestUser.Guest);
     Permissions  = new MockPermissions(perm => false);
     return(this);
 }
示例#10
0
 public NullRequestContext AsSysAdmin()
 {
     UserAccessor = new MockUserAccessor(() => TestUser.SysAdmin);
     Permissions  = new MockPermissions(perm => true);
     return(this);
 }