コード例 #1
0
        public void ShouldNotEditClaimSetIfNameEmpty()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

            var testClaimSet = new ClaimSet {
                ClaimSetName = "TestClaimSet1", Application = testApplication
            };

            Save(testClaimSet);

            var editModel = new EditClaimSetModel {
                ClaimSetName = "", ClaimSetId = testClaimSet.ClaimSetId
            };

            Scoped <ISecurityContext>(securityContext =>
            {
                var validator         = new EditClaimSetModelValidator(securityContext);
                var validationResults = validator.Validate(editModel);
                validationResults.IsValid.ShouldBe(false);
                validationResults.Errors.Single().ErrorMessage.ShouldBe("'Claim Set Name' must not be empty.");
            });
        }
コード例 #2
0
        public void ShouldNotEditClaimSetIfNameNotUnique()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

            var alreadyExistingClaimSet = new ClaimSet {
                ClaimSetName = "TestClaimSet1", Application = testApplication
            };

            Save(alreadyExistingClaimSet);

            var testClaimSet = new ClaimSet {
                ClaimSetName = "TestClaimSet2", Application = testApplication
            };

            Save(testClaimSet);

            var editModel = new EditClaimSetModel {
                ClaimSetName = "TestClaimSet1", ClaimSetId = testClaimSet.ClaimSetId
            };

            Scoped <ISecurityContext>(securityContext =>
            {
                var validator         = new EditClaimSetModelValidator(securityContext);
                var validationResults = validator.Validate(editModel);
                validationResults.IsValid.ShouldBe(false);
                validationResults.Errors.Single().ErrorMessage.ShouldBe("A claim set with this name already exists in the database. Please enter a unique name.");
            });
        }
コード例 #3
0
        public void ShouldEditClaimSet()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

            var alreadyExistingClaimSet = new ClaimSet {
                ClaimSetName = "TestClaimSet", Application = testApplication
            };

            Save(alreadyExistingClaimSet);

            var editModel = new EditClaimSetModel {
                ClaimSetName = "TestClaimSetEdited", ClaimSetId = alreadyExistingClaimSet.ClaimSetId
            };

            Scoped <ISecurityContext>(securityContext =>
            {
                var command = new EditClaimSetCommand(securityContext);
                command.Execute(editModel);
            });

            var editedClaimSet = Transaction(securityContext => securityContext.ClaimSets.Single(x => x.ClaimSetId == alreadyExistingClaimSet.ClaimSetId));

            editedClaimSet.ClaimSetName.ShouldBe(editModel.ClaimSetName);
        }
コード例 #4
0
        public void ShouldNotEditClaimSetIfNameLengthGreaterThan255Characters()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

            var testClaimSet = new ClaimSet {
                ClaimSetName = "TestClaimSet1", Application = testApplication
            };

            Save(testClaimSet);

            var editModel = new EditClaimSetModel {
                ClaimSetName = "ThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255Characters", ClaimSetId = testClaimSet.ClaimSetId
            };

            Scoped <ISecurityContext>(securityContext =>
            {
                var validator         = new EditClaimSetModelValidator(securityContext);
                var validationResults = validator.Validate(editModel);
                validationResults.IsValid.ShouldBe(false);
                validationResults.Errors.Single().ErrorMessage.ShouldBe("The claim set name must be less than 255 characters.");
            });
        }
コード例 #5
0
        public ActionResult EditClaimSet(int claimSetId)
        {
            var existingClaimSet = _getClaimSetByIdQuery.Execute(claimSetId);
            var model            = new EditClaimSetModel
            {
                ClaimSetName      = existingClaimSet.Name,
                ClaimSetId        = claimSetId,
                Applications      = _getApplicationsByClaimSetIdQuery.Execute(claimSetId),
                ResourceClaims    = _getResourcesByClaimSetIdQuery.AllResources(claimSetId),
                AllResourceClaims = _getResourceClaimsQuery.GetSelectListForResourceClaims()
            };

            return(PartialView("_EditClaimSet", model));
        }
コード例 #6
0
 public ActionResult EditClaimSet(EditClaimSetModel model)
 {
     _editClaimSetCommand.Execute(model);
     return(RedirectToAction("ClaimSets", "GlobalSettings"));
 }