public void ShouldNotDeleteIfResourceNotOnClaimSet() { var testApplication = new Application { ApplicationName = $"Test Application {DateTime.Now:O}" }; Save(testApplication); var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication }; Save(testClaimSet); var testResources = SetupParentResourceClaimsWithChildren(testClaimSet, testApplication); var resourceNotOnClaimSet = new ResourceClaim { Application = testApplication, ClaimName = "TestClaim99", DisplayName = "TestResource99", ParentResourceClaim = null, ResourceName = "TestResource99" }; Save(resourceNotOnClaimSet); var deleteResourceOnClaimSetModel = new DeleteClaimSetResourceModel { ClaimSetId = testClaimSet.ClaimSetId, ResourceClaimId = resourceNotOnClaimSet.ResourceClaimId, ClaimSetName = testClaimSet.ClaimSetName, ResourceName = resourceNotOnClaimSet.ResourceName }; Scoped <ISecurityContext>(securityContext => { var validator = new DeleteClaimSetResourceModelValidator(securityContext); var validationResults = validator.Validate(deleteResourceOnClaimSetModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Single().ErrorMessage.ShouldBe("This resource does not exist on the claimset."); }); }
private IReadOnlyCollection <ResourceClaim> SetupResourceClaims(Application testApplication, int resourceClaimCount = 5) { var resourceClaims = new List <ResourceClaim>(); foreach (var index in Enumerable.Range(1, resourceClaimCount)) { var resourceClaim = new ResourceClaim { ClaimName = $"TestResourceClaim{index:N}", DisplayName = $"TestResourceClaim{index:N}", ResourceName = $"TestResourceClaim{index:N}", Application = testApplication }; resourceClaims.Add(resourceClaim); } Save(resourceClaims.Cast <object>().ToArray()); return(resourceClaims); }