Ejemplo n.º 1
0
        public void ShouldGetResourceClaims()
        {
            var testApplication = new Application
            {
                ApplicationName = "TestApplicationName"
            };

            Save(testApplication);

            var testResourceClaims = SetupResourceClaims(testApplication);

            Transaction <SqlServerSecurityContext>(securityContext =>
            {
                var query = new GetResourceClaimsQuery(securityContext);

                var results = query.Execute().ToArray();

                results.Length.ShouldBe(testResourceClaims.Count);
                results.Select(x => x.Name).ShouldBe(testResourceClaims.Select(x => x.ResourceName), true);
                results.Select(x => x.Id).ShouldBe(testResourceClaims.Select(x => x.ResourceClaimId), true);
                results.All(x => x.Create == false).ShouldBe(true);
                results.All(x => x.Delete == false).ShouldBe(true);
                results.All(x => x.Update == false).ShouldBe(true);
                results.All(x => x.Read == false).ShouldBe(true);
                results.All(x => x.ParentId.Equals(0)).ShouldBe(true);
                results.All(x => x.Children.IsNullOrEmpty()).ShouldBe(true);
            });
        }
Ejemplo n.º 2
0
        public void ShouldGetResourceClaims()
        {
            var testApplication = new Application
            {
                ApplicationName = "TestApplicationName"
            };

            Save(testApplication);

            var testResourceClaims = SetupResourceClaims(testApplication);

            Management.ClaimSetEditor.ResourceClaim[] results = null;
            Scoped <ISecurityContext>(securityContext =>
            {
                var query = new GetResourceClaimsQuery(securityContext);

                results = query.Execute().ToArray();
            });

            Scoped <ISecurityContext>(securityContext =>
            {
                results.Length.ShouldBe(testResourceClaims.Count);
                results.Select(x => x.Name).ShouldBe(testResourceClaims.Select(x => x.ResourceName), true);
                results.Select(x => x.Id).ShouldBe(testResourceClaims.Select(x => x.ResourceClaimId), true);
                results.All(x => x.Create == false).ShouldBe(true);
                results.All(x => x.Delete == false).ShouldBe(true);
                results.All(x => x.Update == false).ShouldBe(true);
                results.All(x => x.Read == false).ShouldBe(true);
                results.All(x => x.ParentId.Equals(0)).ShouldBe(true);
                results.All(x => x.Children.Count == 0).ShouldBe(true);
            });
        }
Ejemplo n.º 3
0
        private List <ResourceClaim> GetDbResources()
        {
            var allResources    = new List <ResourceClaim>();
            var parentResources = _getResourceClaimsQuery.Execute().ToList();

            allResources.AddRange(parentResources);
            foreach (var children in parentResources.Select(x => x.Children))
            {
                allResources.AddRange(children);
            }

            return(allResources);
        }
        private EditClaimSetModel GetEditClaimSetModel(int claimSetId)
        {
            var existingClaimSet  = _getClaimSetByIdQuery.Execute(claimSetId);
            var allResourceClaims = _getResourceClaimsQuery.Execute().ToList();

            return(new EditClaimSetModel
            {
                ClaimSetName = existingClaimSet.Name,
                ClaimSetId = claimSetId,
                Applications = _getApplicationsByClaimSetIdQuery.Execute(claimSetId),
                ResourceClaims = _getResourcesByClaimSetIdQuery.AllResources(claimSetId),
                AllResourceClaims = GetSelectListForResourceClaims(allResourceClaims)
            });
        }
Ejemplo n.º 5
0
        public void ShouldGetAlphabeticallySortedSelectListForResourceClaims()
        {
            var testApplication = new Application
            {
                ApplicationName = "TestApplicationName"
            };

            Save(testApplication);

            var testResourceClaims  = SetupParentResourceClaimsWithChildren(testApplication).ToList();
            var parentResourceNames = testResourceClaims.Where(x => x.ParentResourceClaim == null)
                                      .OrderBy(x => x.ResourceName).Select(x => x.ResourceName).ToList();
            var childResourceNames = testResourceClaims.Where(x => x.ParentResourceClaim != null)
                                     .OrderBy(x => x.ResourceName).Select(x => x.ResourceName).ToList();

            List <SelectListItem> results = null;

            Scoped <ISecurityContext>(securityContext =>
            {
                var query = new GetResourceClaimsQuery(securityContext);

                var allResourceClaims = query.Execute().ToList();

                results = GetSelectListForResourceClaims(allResourceClaims);

                // Removing "Please select a value" SelectListItem from the results
                results.RemoveAt(0);
            });

            Scoped <ISecurityContext>(securityContext =>
            {
                results.Count.ShouldBe(testResourceClaims.Count);
                results.Where(x => x.Group.Name == "Groups").Select(x => x.Text).ToList().ShouldBe(parentResourceNames);
                results.Where(x => x.Group.Name == "Resources").Select(x => x.Text).ToList().ShouldBe(childResourceNames);
            });
        }