public void ShouldNotCopyClaimSetIfNameNotUnique()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

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

            Save(testClaimSet);

            var newClaimSet = new CopyClaimSetModel()
            {
                Name       = "TestClaimSet",
                OriginalId = testClaimSet.ClaimSetId
            };
            var validator         = new CopyClaimSetModelValidator(TestContext);
            var validationResults = validator.Validate(newClaimSet);

            validationResults.IsValid.ShouldBe(false);
            validationResults.Errors.Single().ErrorMessage.ShouldBe("The new claim set must have a unique name");
        }
예제 #2
0
        public void ShouldNotCopyClaimSetIfNameLengthGreaterThan255Characters()
        {
            var testApplication = new Application
            {
                ApplicationName = $"Test Application {DateTime.Now:O}"
            };

            Save(testApplication);

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

            Save(testClaimSet);

            var newClaimSet = new CopyClaimSetModel()
            {
                Name       = "ThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255Characters",
                OriginalId = testClaimSet.ClaimSetId
            };

            Scoped <ISecurityContext>(securityContext =>
            {
                var validator         = new CopyClaimSetModelValidator(securityContext);
                var validationResults = validator.Validate(newClaimSet);
                validationResults.IsValid.ShouldBe(false);
                validationResults.Errors.Single().ErrorMessage.ShouldBe("The claim set name must be less than 255 characters.");
            });
        }
 public ActionResult CopyClaimSet(CopyClaimSetModel model)
 {
     _copyClaimSetCommand.Execute(model);
     return(JsonResult(new
     {
         successMessage = $"Claimset copied successfully to {model.Name}"
     }));
 }
        public ActionResult CopyClaimSetModal(int claimSetId)
        {
            var existingClaimSet = _getClaimSetByIdQuery.Execute(claimSetId);
            var model            = new CopyClaimSetModel
            {
                Name         = existingClaimSet.Name + " Copy",
                OriginalId   = claimSetId,
                OriginalName = existingClaimSet.Name
            };

            return(PartialView("_CopyClaimSetModal", model));
        }