public void ShouldResetAuthorizationStrategiesForParentResourcesOnClaimSet() { var testApplication = new Application { ApplicationName = "TestApplicationName" }; Save(testApplication); var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication }; Save(testClaimSet); var appAuthorizationStrategies = SetupApplicationAuthorizationStrategies(testApplication).ToList(); var testResourceClaims = SetupParentResourceClaimsWithChildren(testClaimSet, testApplication); var testResourceToEdit = testResourceClaims.Select(x => x.ResourceClaim).Single(x => x.ResourceName == "TestParentResourceClaim1"); var resultResourceClaimBeforeOverride = new GetResourcesByClaimSetIdQuery(TestContext, GetMapper()).AllResources(testClaimSet.ClaimSetId).Single(x => x.Id == testResourceToEdit.ResourceClaimId); resultResourceClaimBeforeOverride.AuthStrategyOverridesForCRUD[0].ShouldBeNull(); resultResourceClaimBeforeOverride.AuthStrategyOverridesForCRUD[1].ShouldBeNull(); resultResourceClaimBeforeOverride.AuthStrategyOverridesForCRUD[2].ShouldBeNull(); resultResourceClaimBeforeOverride.AuthStrategyOverridesForCRUD[3].ShouldBeNull(); SetupOverridesForResourceCreateAction(testResourceToEdit.ResourceClaimId, testClaimSet.ClaimSetId, appAuthorizationStrategies.Single(x => x.AuthorizationStrategyName == "TestAuthStrategy4") .AuthorizationStrategyId); var resultResourceClaimAfterOverride = new GetResourcesByClaimSetIdQuery(TestContext, GetMapper()).AllResources(testClaimSet.ClaimSetId).Single(x => x.Id == testResourceToEdit.ResourceClaimId); resultResourceClaimAfterOverride.AuthStrategyOverridesForCRUD[0].ShouldNotBeNull(); resultResourceClaimAfterOverride.AuthStrategyOverridesForCRUD[0].AuthStrategyName.ShouldBe("TestAuthStrategy4"); resultResourceClaimAfterOverride.AuthStrategyOverridesForCRUD[1].ShouldBeNull(); resultResourceClaimAfterOverride.AuthStrategyOverridesForCRUD[2].ShouldBeNull(); resultResourceClaimAfterOverride.AuthStrategyOverridesForCRUD[3].ShouldBeNull(); var resetModel = new ResetToDefaultAuthStrategyModel { ResourceClaimId = testResourceToEdit.ResourceClaimId, ClaimSetId = testClaimSet.ClaimSetId }; var command = new ResetToDefaultAuthStrategyCommand(TestContext); command.Execute(resetModel); var resultResourceClaimAfterReset = new GetResourcesByClaimSetIdQuery(TestContext, GetMapper()).AllResources(testClaimSet.ClaimSetId).Single(x => x.Id == testResourceToEdit.ResourceClaimId); resultResourceClaimAfterReset.AuthStrategyOverridesForCRUD[0].ShouldBeNull(); resultResourceClaimAfterReset.AuthStrategyOverridesForCRUD[1].ShouldBeNull(); resultResourceClaimAfterReset.AuthStrategyOverridesForCRUD[2].ShouldBeNull(); resultResourceClaimAfterReset.AuthStrategyOverridesForCRUD[3].ShouldBeNull(); }
public void ShouldNotResetWhenResourceActionsDoNotExist() { var testApplication = new Application { ApplicationName = "TestApplicationName" }; Save(testApplication); var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication }; Save(testClaimSet); var testResourceClaims = SetupResourceClaims(testApplication); var testResourceToEdit = testResourceClaims.Single(x => x.ResourceName == "TestParentResourceClaim1"); Transaction(securityContext => securityContext.ClaimSetResourceClaims .Any(x => x.ResourceClaim.ResourceClaimId == testResourceToEdit.ResourceClaimId && x.ClaimSet.ClaimSetId == testClaimSet.ClaimSetId)) .ShouldBe(false); var invalidResetModel = new ResetToDefaultAuthStrategyModel { ResourceClaimId = testResourceToEdit.ResourceClaimId, ClaimSetId = testClaimSet.ClaimSetId }; Scoped <ISecurityContext>(securityContext => { var command = new ResetToDefaultAuthStrategyCommand(securityContext); command.Execute(invalidResetModel); }); Scoped <ISecurityContext>(securityContext => { var validator = new ResetToDefaultAuthStrategyModelValidator(securityContext); var validationResults = validator.Validate(invalidResetModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Single().ErrorMessage.ShouldBe("No actions for this claimset and resource exist in the system"); }); }
public ClaimSetsController(IGetClaimSetByIdQuery getClaimSetByIdQuery , IGetApplicationsByClaimSetIdQuery getApplicationsByClaimSetIdQuery , IGetResourcesByClaimSetIdQuery getResourcesByClaimSetIdQuery , IGetClaimSetsByApplicationNameQuery getClaimSetsByApplicationNameQuery , IGetAuthStrategiesByApplicationNameQuery getAuthStrategiesByApplicationNameQuery , ITabDisplayService tabDisplayService , CopyClaimSetCommand copyClaimSetCommand , AddClaimSetCommand addClaimSetCommand , EditClaimSetCommand editClaimSetCommand , GetResourceClaimsQuery getResourceClaimsQuery , GetChildResourceClaimsForParentQuery getChildResourceClaimsForParentQuery , DeleteClaimSetCommand deleteClaimSetCommand , EditResourceOnClaimSetCommand editResourceOnClaimSetCommand , DeleteResourceOnClaimSetCommand deleteResourceOnClaimSetCommand , ClaimSetFileExportCommand claimSetFileExportCommand , ClaimSetFileImportCommand claimSetFileImportCommand , OverrideDefaultAuthorizationStrategyCommand overrideDefaultAuthorizationStrategyCommand , ResetToDefaultAuthStrategyCommand resetToDefaultAuthStrategyCommand) { _getClaimSetByIdQuery = getClaimSetByIdQuery; _getApplicationsByClaimSetIdQuery = getApplicationsByClaimSetIdQuery; _getResourcesByClaimSetIdQuery = getResourcesByClaimSetIdQuery; _getClaimSetsByApplicationNameQuery = getClaimSetsByApplicationNameQuery; _getAuthStrategiesByApplicationNameQuery = getAuthStrategiesByApplicationNameQuery; _tabDisplayService = tabDisplayService; _copyClaimSetCommand = copyClaimSetCommand; _addClaimSetCommand = addClaimSetCommand; _editClaimSetCommand = editClaimSetCommand; _getClaimSetByIdQuery = getClaimSetByIdQuery; _getResourceClaimsQuery = getResourceClaimsQuery; _getChildResourceClaimsForParentQuery = getChildResourceClaimsForParentQuery; _deleteClaimSetCommand = deleteClaimSetCommand; _editResourceOnClaimSetCommand = editResourceOnClaimSetCommand; _deleteResourceOnClaimSetCommand = deleteResourceOnClaimSetCommand; _claimSetFileExportCommand = claimSetFileExportCommand; _claimSetFileImportCommand = claimSetFileImportCommand; _overrideDefaultAuthorizationStrategyCommand = overrideDefaultAuthorizationStrategyCommand; _resetToDefaultAuthStrategyCommand = resetToDefaultAuthStrategyCommand; }