public void ValidateUniqueStateCombinations_DoubleStateCombinationAndObjectIsDeleted() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); List <StateCombination> stateCombinations = testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); var states = stateCombinations[0].GetStates(); StatePropertyDefinition orderStateProperty = states[0].StateProperty; StatePropertyDefinition paymentProperty = states[1].StateProperty; using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { testHelper.CreateStateCombination( orderClass, ClientTransaction.Current, orderStateProperty[EnumWrapper.Get(OrderState.Received).Name], paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); Assert.That(orderClass.StateCombinations, Is.Not.Empty); orderClass.Delete(); SecurableClassValidationResult result = new SecurableClassValidationResult(); orderClass.ValidateUniqueStateCombinations(result); Assert.That(result.IsValid, Is.True); Assert.That(orderClass.State, Is.EqualTo(StateType.Deleted)); } } }
public void AccessTypes_Empty() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); Assert.That(orderClass.AccessTypes, Is.Empty); } }
public void GetStatePropertyTest_InvalidName() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); Assert.That(orderClass.GetStateProperty("Invalid"), Is.Null); } }
public void AccessTypes_IsReadOnly() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.AttachJournalizeAccessType(orderClass); Assert.That(((ICollection <AccessTypeDefinition>)orderClass.AccessTypes).IsReadOnly, Is.True); } }
public void AccessTypes_OneAccessType() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.AttachJournalizeAccessType(orderClass); Assert.That(orderClass.AccessTypes.Count, Is.EqualTo(1)); } }
public void GetStateCombinations_TwoCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StateCombination stateCombination = testHelper.CreateStateCombination(orderClass); List <StateCombination> stateCombinations = testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); Assert.That(orderClass.StateCombinations, Is.EqualTo(ArrayUtility.Combine(stateCombination, stateCombinations.ToArray()))); } }
public void Commit_EmptyStateCombinationInClassWithStateProperties() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); testHelper.CreateStateCombination(orderClass); testHelper.Transaction.Commit(); } }
public void SetUp() { try { // Use default localization for tests AclToolsExpansion.Culture = new CultureInfo(""); AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterDiscardingScope()) { _dbFixtures = new DatabaseFixtures(); _dbFixtures.CreateAndCommitOrganizationalStructureWithTwoTenants(ClientTransaction.Current); _cultureDe = Culture.NewObject("de-DE"); _cultureEn = Culture.NewObject("en-US"); SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); OrderClassHandle = orderClass.GetHandle(); testHelper.AttachAccessType(orderClass, Guid.NewGuid(), "FirstAccessType", 0); testHelper.AttachAccessType(orderClass, Guid.NewGuid(), "FirstAccessType2", 2); testHelper.AttachAccessType(orderClass, Guid.NewGuid(), "FirstAccessType3", 3); aclList = testHelper.CreateAclsForOrderAndPaymentAndDeliveryStates(orderClass); var ace = aclList[0].CreateAccessControlEntry(); ace.GetPermissions()[0].Allowed = true; // FirstAccessType testHelper.CreateInvoiceClassDefinition(); LocalizeClassEnDe(orderClass, "Order", "Bestellung"); LocalizeStatePropertyEnDe(orderClass, "Payment", "Payment", "Bezahlstatus"); LocalizeStateEnDe(orderClass, "Payment", (int)PaymentState.None, "None", "Offen"); LocalizeStateEnDe(orderClass, "Payment", (int)PaymentState.Paid, "Paid", "Bezahlt"); LocalizeStatePropertyEnDe(orderClass, "State", "Order State", "Bestellstatus"); LocalizeStateEnDe(orderClass, "State", (int)OrderState.Delivered, "Delivered", "Ausgelifert"); LocalizeStateEnDe(orderClass, "State", (int)OrderState.Received, "Received", "Erhalten"); LocalizeStatePropertyEnDe(orderClass, "Delivery", "Delivery Provider", "Auslieferer"); LocalizeStateEnDe(orderClass, "Delivery", (int)Delivery.Dhl, "DHL", "DHL"); LocalizeStateEnDe(orderClass, "Delivery", (int)Delivery.Post, "Mail", "Post"); ClientTransaction.Current.Commit(); } } catch (Exception e) { Console.WriteLine(e); throw; } }
public void Validate_Valid() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); SecurableClassValidationResult result = orderClass.Validate(); Assert.That(result.IsValid, Is.True); } }
public void ValidateUniqueStateCombinations_NoStateCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); SecurableClassValidationResult result = new SecurableClassValidationResult(); orderClass.ValidateUniqueStateCombinations(result); Assert.That(result.IsValid, Is.True); } }
public void AccessTypes_IsNotCached() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.AttachJournalizeAccessType(orderClass); var firstCollection = orderClass.AccessTypes; var secondCollection = orderClass.AccessTypes; Assert.That(secondCollection, Is.Not.SameAs(firstCollection)); } }
public void Commit_TwoStateCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StatePropertyDefinition paymentProperty = testHelper.CreatePaymentStateProperty(orderClass); testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.None).Name]); testHelper.Transaction.Commit(); } }
public void IsValid_DuplicateStateCombination() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StateCombination stateCombination = testHelper.CreateStateCombination(orderClass); SecurableClassValidationResult result = new SecurableClassValidationResult(); result.AddDuplicateStateCombination(stateCombination); Assert.That(result.IsValid, Is.False); } }
public void GetStatePropertyTest_ValidName() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); List <StateCombination> stateCombinations = testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); var states = stateCombinations[0].GetStates(); StatePropertyDefinition orderStateProperty = states[0].StateProperty; StatePropertyDefinition paymentProperty = states[1].StateProperty; Assert.That(orderClass.GetStateProperty(orderStateProperty.Name), Is.EqualTo(orderStateProperty)); Assert.That(orderClass.GetStateProperty(paymentProperty.Name), Is.EqualTo(paymentProperty)); } }
public void DuplicateStateCombinations_OneInvalidStateCombination() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StateCombination stateCombination = testHelper.CreateStateCombination(orderClass); SecurableClassValidationResult result = new SecurableClassValidationResult(); result.AddDuplicateStateCombination(stateCombination); Assert.That(result.DuplicateStateCombinations.Count, Is.EqualTo(1)); Assert.That(result.DuplicateStateCombinations, Has.Member(stateCombination)); } }
public void ValidateStateCombinationsAgainstStateProperties_EmptyStateCombinationInClassWithStateProperties() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); StateCombination statelessCombination = testHelper.CreateStateCombination(orderClass); SecurableClassValidationResult result = new SecurableClassValidationResult(); orderClass.ValidateStateCombinationsAgainstStateProperties(result); Assert.That(result.IsValid, Is.False); Assert.That(result.InvalidStateCombinations, Is.EquivalentTo(new[] { statelessCombination })); } }
public void ValidateUniqueStateCombinations_TwoEmptyStateCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StateCombination statelessCombination1 = testHelper.CreateStateCombination(orderClass); StateCombination statelessCombination2 = testHelper.CreateStateCombination(orderClass); SecurableClassValidationResult result = new SecurableClassValidationResult(); orderClass.ValidateUniqueStateCombinations(result); Assert.That(result.IsValid, Is.False); Assert.That(result.DuplicateStateCombinations, Has.Member(statelessCombination1)); Assert.That(result.DuplicateStateCombinations, Has.Member(statelessCombination2)); } }
public void Validate_DoubleStateCombination() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); List <StateCombination> stateCombinations = testHelper.CreateOrderStateAndPaymentStateCombinations(orderClass); var states = stateCombinations[0].GetStates(); StatePropertyDefinition orderStateProperty = states[0].StateProperty; StatePropertyDefinition paymentProperty = states[1].StateProperty; testHelper.CreateStateCombination( orderClass, orderStateProperty[EnumWrapper.Get(OrderState.Received).Name], paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); SecurableClassValidationResult result = orderClass.Validate(); Assert.That(result.IsValid, Is.False); } }
public void ValidateUniqueStateCombinations_TwoStateCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StatePropertyDefinition paymentProperty = testHelper.CreatePaymentStateProperty(orderClass); StateCombination paidCombination1 = testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); StateCombination paidCombination2 = testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); testHelper.CreateStateCombination(orderClass, paymentProperty[EnumWrapper.Get(PaymentState.None).Name]); SecurableClassValidationResult result = new SecurableClassValidationResult(); orderClass.ValidateUniqueStateCombinations(result); Assert.That(result.IsValid, Is.False); Assert.That(result.DuplicateStateCombinations.Count, Is.EqualTo(2)); Assert.That(result.DuplicateStateCombinations, Has.Member(paidCombination1)); Assert.That(result.DuplicateStateCombinations, Has.Member(paidCombination2)); } }
public void DuplicateStateCombinations_TwoInvalidStateCombinations() { AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { SecurableClassDefinition orderClass = testHelper.CreateOrderClassDefinition(); StatePropertyDefinition paymentProperty = testHelper.CreatePaymentStateProperty(orderClass); StateCombination statelessCombination = testHelper.CreateStateCombination(orderClass); StateCombination paidStateCombination = testHelper.CreateStateCombination( orderClass, paymentProperty[EnumWrapper.Get(PaymentState.Paid).Name]); SecurableClassValidationResult result = new SecurableClassValidationResult(); result.AddDuplicateStateCombination(statelessCombination); result.AddDuplicateStateCombination(paidStateCombination); Assert.That(result.DuplicateStateCombinations.Count, Is.EqualTo(2)); Assert.That(result.DuplicateStateCombinations, Has.Member(statelessCombination)); Assert.That(result.DuplicateStateCombinations, Has.Member(paidStateCombination)); } }
public void FindByName_InvalidClassName() { DatabaseFixtures dbFixtures = new DatabaseFixtures(); dbFixtures.CreateEmptyDomain(); AccessControlTestHelper testHelper = new AccessControlTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { testHelper.CreateOrderClassDefinition(); testHelper.CreateInvoiceClassDefinition(); testHelper.Transaction.Commit(); } using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition foundClass = SecurableClassDefinition.FindByName("Invce"); Assert.That(foundClass, Is.Null); } }
public void FindByName_ValidClassName() { DatabaseFixtures dbFixtures = new DatabaseFixtures(); dbFixtures.CreateEmptyDomain(); AccessControlTestHelper testHelper = new AccessControlTestHelper(); SecurableClassDefinition invoiceClass; using (testHelper.Transaction.EnterNonDiscardingScope()) { testHelper.CreateOrderClassDefinition(); invoiceClass = testHelper.CreateInvoiceClassDefinition(); testHelper.Transaction.Commit(); } using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition foundClass = SecurableClassDefinition.FindByName("Remotion.SecurityManager.UnitTests.TestDomain.Invoice"); MetadataObjectAssert.AreEqual(invoiceClass, testHelper.Transaction, foundClass); } }