示例#1
0
        public void ClearSpecificGroup()
        {
            var group = _testHelper.CreateGroup("TestGroup", null, _testHelper.CreateTenant("TestTenant"));
            var ace   = _testHelper.CreateAceWithSpecificGroup(group);

            using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope())
            {
                ace.GroupCondition = GroupCondition.OwningGroup;

                Assert.That(ace.SpecificGroup, Is.Not.Null);
                ClientTransactionScope.CurrentTransaction.Commit();
                Assert.That(ace.SpecificGroup, Is.Null);
            }
        }
示例#2
0
        public void ValidateSpecificGroup_IsValid()
        {
            var group = _testHelper.CreateGroup("TestGroup", null, _testHelper.CreateTenant("TestTenant"));
            var ace   = _testHelper.CreateAceWithSpecificGroup(group);

            AccessControlEntryValidationResult result = ace.Validate();

            Assert.That(result.IsValid, Is.True);
        }
示例#3
0
        public void DeleteGroup_WithAccessControlEntry()
        {
            DatabaseFixtures        dbFixtures = new DatabaseFixtures();
            AccessControlTestHelper testHelper = new AccessControlTestHelper();

            using (testHelper.Transaction.EnterNonDiscardingScope())
            {
                dbFixtures.CreateEmptyDomain();
                var group = testHelper.CreateGroup("group", null, testHelper.CreateTenant("tenant"));
                var ace   = testHelper.CreateAceWithSpecificGroup(group);
                ClientTransaction.Current.Commit();

                group.Delete();

                ClientTransaction.Current.Commit();

                Assert.That(ace.State, Is.EqualTo(StateType.Invalid));
            }
        }