public void CreateStatefulAccessControlList_TwoNewAcls() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { classDefinition.EnsureDataAvailable(); Assert.That(classDefinition.State, Is.EqualTo(StateType.Unchanged)); StatefulAccessControlList acccessControlList0 = classDefinition.CreateStatefulAccessControlList(); StatefulAccessControlList acccessControlListl = classDefinition.CreateStatefulAccessControlList(); Assert.That(classDefinition.StatefulAccessControlLists.Count, Is.EqualTo(2)); Assert.That(classDefinition.StatefulAccessControlLists[0], Is.SameAs(acccessControlList0)); Assert.That(acccessControlList0.Index, Is.EqualTo(0)); Assert.That(classDefinition.StatefulAccessControlLists[1], Is.SameAs(acccessControlListl)); Assert.That(acccessControlListl.Index, Is.EqualTo(1)); Assert.That(classDefinition.State, Is.EqualTo(StateType.Changed)); } } }
public ObjectID CreateAndCommitAccessControlEntryWithPermissions(int permissions, ClientTransaction transaction) { CreateEmptyDomain(); using (transaction.EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = CreateSecurableClassDefinitionWithAccessTypes(permissions); AccessControlList acl = classDefinition.CreateStatefulAccessControlList(); AccessControlEntry ace = acl.CreateAccessControlEntry(); ClientTransactionScope.CurrentTransaction.Commit(); return(ace.ID); } }
public void ValidateDuringCommit() { SecurableClassDefinition orderClass = _testHelper.CreateOrderClassDefinition(); StatePropertyDefinition paymentProperty = _testHelper.CreatePaymentStateProperty(orderClass); StateDefinition paidState = paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]; StateDefinition notPaidState = paymentProperty[EnumWrapper.Get(PaymentState.None).Name]; _testHelper.CreateStateCombination(orderClass, paidState); _testHelper.CreateStateCombination(orderClass, notPaidState); _testHelper.CreateStateCombination(orderClass); var dupicateStateCombination = orderClass.CreateStatefulAccessControlList().StateCombinations[0]; using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { dupicateStateCombination.AttachState(paidState); ClientTransaction.Current.Commit(); } }
public void CreateStatefulAccessControlList() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { classDefinition.EnsureDataAvailable(); Assert.That(classDefinition.State, Is.EqualTo(StateType.Unchanged)); StatefulAccessControlList accessControlList = classDefinition.CreateStatefulAccessControlList(); Assert.That(accessControlList.Class, Is.SameAs(classDefinition)); Assert.IsNotEmpty(accessControlList.AccessControlEntries); Assert.IsNotEmpty(accessControlList.StateCombinations); Assert.That(classDefinition.State, Is.EqualTo(StateType.Changed)); } } }
public void ValidateDuringCommit_ByTouchOnClassForChangedStateUsagesCollection() { SecurableClassDefinition orderClass = _testHelper.CreateOrderClassDefinition(); StatePropertyDefinition paymentProperty = _testHelper.CreatePaymentStateProperty(orderClass); StateDefinition paidState = paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]; StateDefinition notPaidState = paymentProperty[EnumWrapper.Get(PaymentState.None).Name]; StateCombination combination1 = _testHelper.CreateStateCombination(orderClass, paidState); StateCombination combination2 = _testHelper.CreateStateCombination(orderClass, notPaidState); StateCombination combination3 = _testHelper.CreateStateCombination(orderClass); combination1.AccessControlList.AccessControlEntries.Add(AccessControlEntry.NewObject()); combination2.AccessControlList.AccessControlEntries.Add(AccessControlEntry.NewObject()); combination3.AccessControlList.AccessControlEntries.Add(AccessControlEntry.NewObject()); var dupicateStateCombination = orderClass.CreateStatefulAccessControlList().StateCombinations[0]; using (_testHelper.Transaction.CreateSubTransaction().EnterDiscardingScope()) { dupicateStateCombination.AttachState(paidState); ClientTransaction.Current.Commit(); } }