public void Commit_DeletedStateCombination() { SecurableClassDefinition orderClass = _testHelper.CreateOrderClassDefinition(); using (_testHelper.Transaction.CreateSubTransaction().EnterDiscardingScope()) { orderClass.EnsureDataAvailable(); Assert.That(orderClass.State, Is.EqualTo(StateType.Unchanged)); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { StateCombination combination = _testHelper.CreateStateCombination(orderClass, ClientTransaction.Current); combination.AccessControlList.AccessControlEntries.Add(AccessControlEntry.NewObject()); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { orderClass.EnsureDataAvailable(); Assert.That(orderClass.State, Is.EqualTo(StateType.Unchanged)); combination.AccessControlList.Delete(); Assert.That(combination.Class, Is.Null); Assert.That(orderClass.State, Is.EqualTo(StateType.Changed)); ClientTransaction.Current.Commit(); } ClientTransaction.Current.Commit(); } Assert.That(orderClass.State, Is.EqualTo(StateType.Changed)); } }
public void CreateStatelessAccessControlList_Twice() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { classDefinition.EnsureDataAvailable(); Assert.That(classDefinition.State, Is.EqualTo(StateType.Unchanged)); classDefinition.CreateStatelessAccessControlList(); classDefinition.CreateStatelessAccessControlList(); } } }
public void CreateStatelessAccessControlList() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { classDefinition.EnsureDataAvailable(); Assert.That(classDefinition.State, Is.EqualTo(StateType.Unchanged)); StatelessAccessControlList accessControlList = classDefinition.CreateStatelessAccessControlList(); Assert.That(accessControlList.Class, Is.SameAs(classDefinition)); Assert.IsNotEmpty(accessControlList.AccessControlEntries); Assert.That(classDefinition.State, Is.EqualTo(StateType.Changed)); } } }
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)); } } }