public SecurableClassDefinition CreateAndCommitSecurableClassDefinitionWithAccessControlLists(int accessControlLists, ClientTransaction transaction) { CreateEmptyDomain(); using (transaction.EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = CreateOrderSecurableClassDefinition(); StatelessAccessControlList statelessAccessControlList = StatelessAccessControlList.NewObject(); classDefinition.StatelessAccessControlList = statelessAccessControlList; var stateProperty = StatePropertyDefinition.NewObject(Guid.NewGuid(), "Property"); classDefinition.AddStateProperty(stateProperty); for (int i = 1; i < accessControlLists; i++) { StatefulAccessControlList statefulAccessControlList = StatefulAccessControlList.NewObject(); classDefinition.StatefulAccessControlLists.Add(statefulAccessControlList); statefulAccessControlList.CreateAccessControlEntry(); CreateStateCombination(statefulAccessControlList, stateProperty, StateDefinition.NewObject(string.Format("Value {0}", i), i)); } ClientTransactionScope.CurrentTransaction.Commit(); return(classDefinition); } }
private StateDefinition CreateState(string name, int value) { StateDefinition state = StateDefinition.NewObject(name, value); state.Index = value; return(state); }
public StateDefinition CreateState(string name, int value) { using (_transaction.EnterNonDiscardingScope()) { StateDefinition state = StateDefinition.NewObject(name, value); state.Index = value; return(state); } }
public void RemoveStateProperty_DeletesAssociatedAccessControlListIfDeletedStateCombinationWasLastStateCombination() { var state1 = StateDefinition.NewObject("Test", 1); var state2 = StateDefinition.NewObject(); var stateProperty = StatePropertyDefinition.NewObject(); stateProperty.AddState(state1); var securableClassDefinition = SecurableClassDefinition.NewObject(); securableClassDefinition.AddStateProperty(stateProperty); var acl1 = securableClassDefinition.CreateStatefulAccessControlList(); acl1.StateCombinations[0].AttachState(state1); var acl2 = securableClassDefinition.CreateStatefulAccessControlList(); Assert.That(acl2.StateCombinations, Is.Not.Empty); var acl3 = securableClassDefinition.CreateStatefulAccessControlList(); acl3.StateCombinations[0].Delete(); var acl4 = securableClassDefinition.CreateStatefulAccessControlList(); acl4.StateCombinations[0].AttachState(state2); securableClassDefinition.RemoveStateProperty(stateProperty); Assert.That(acl1.State, Is.EqualTo(StateType.Invalid)); Assert.That(acl2.State, Is.EqualTo(StateType.New)); Assert.That(acl2.StateCombinations.Count, Is.EqualTo(1)); Assert.That(acl2.StateCombinations[0].GetStates(), Is.Empty); Assert.That(acl3.State, Is.EqualTo(StateType.New)); Assert.That(acl3.StateCombinations, Is.Empty); Assert.That(acl4.State, Is.EqualTo(StateType.New)); Assert.That(acl4.StateCombinations.Count, Is.EqualTo(1)); Assert.That(acl4.StateCombinations[0].GetStates(), Is.EqualTo(new[] { state2 })); }
public void RemoveStateProperty_DeletesAssociatedStateCombinations() { var state1 = StateDefinition.NewObject("Test", 1); var state2 = StateDefinition.NewObject(); var stateProperty = StatePropertyDefinition.NewObject(); stateProperty.AddState(state1); var securableClassDefinition = SecurableClassDefinition.NewObject(); securableClassDefinition.AddStateProperty(stateProperty); var acl = securableClassDefinition.CreateStatefulAccessControlList(); acl.StateCombinations[0].AttachState(state1); acl.CreateStateCombination().AttachState(state2); securableClassDefinition.RemoveStateProperty(stateProperty); Assert.That(acl.StateCombinations.Count, Is.EqualTo(1)); Assert.That(acl.StateCombinations[0].GetStates(), Is.EqualTo(new[] { state2 })); }
public void DomainObjectsAreSerializable() { CheckDomainObjectSerializability(delegate { return(AccessControlEntry.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StatefulAccessControlList.NewObject()); }); CheckDomainObjectSerializability(delegate { return(Permission.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StateCombination.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StateUsage.NewObject()); }); CheckDomainObjectSerializability(delegate { return(AbstractRoleDefinition.NewObject()); }); CheckDomainObjectSerializability(delegate { return(AccessTypeDefinition.NewObject()); }); CheckDomainObjectSerializability(delegate { return(AccessTypeReference.NewObject()); }); CheckDomainObjectSerializability(delegate { return(Culture.NewObject("DE-DE")); }); CheckDomainObjectSerializability(delegate { return(LocalizedName.NewObject("foo", Culture.NewObject("DE-DE"), SecurableClassDefinition.NewObject())); }); CheckDomainObjectSerializability(delegate { return(SecurableClassDefinition.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StateDefinition.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StatePropertyDefinition.NewObject()); }); CheckDomainObjectSerializability(delegate { return(StatePropertyReference.NewObject()); }); CheckDomainObjectSerializability(delegate { return((Group)LifetimeService.NewObject(ClientTransaction.Current, typeof(Group), ParamList.Empty)); }); CheckDomainObjectSerializability(delegate { return((GroupType)LifetimeService.NewObject(ClientTransaction.Current, typeof(GroupType), ParamList.Empty)); }); CheckDomainObjectSerializability(delegate { return(GroupTypePosition.NewObject()); }); CheckDomainObjectSerializability(delegate { return((Position)LifetimeService.NewObject(ClientTransaction.Current, typeof(Position), ParamList.Empty)); }); CheckDomainObjectSerializability(delegate { return(Role.NewObject()); }); CheckDomainObjectSerializability(delegate { return((Tenant)LifetimeService.NewObject(ClientTransaction.Current, typeof(Tenant), ParamList.Empty)); }); CheckDomainObjectSerializability(delegate { return((User)LifetimeService.NewObject(ClientTransaction.Current, typeof(User), ParamList.Empty)); }); }