public void GetAclStringsByPrefix_When_Prefix_CaseInsensitively_Matches_Returns_Results()
        {
            // Arrange & Act
            var result = AclStrings.GetAclStringsByPrefix("tEstresOurce");

            // Assert
            result.ShouldNotBeNull();
            result.ShouldNotBeEmpty();
        }
        public void GetAclStringsByPrefix_When_Prefix_DoesNotMatch_Returns_EmptyList()
        {
            // Arrange & Act
            var result = AclStrings.GetAclStringsByPrefix("prefix-that-does-not-match");

            // Assert
            result.ShouldNotBeNull();
            result.ShouldBeEmpty();
        }
        public void GetAclStringsByPrefix_When_PrefixOf_EmptyString_Returns_EmptyList()
        {
            // Arrange & Act
            var result = AclStrings.GetAclStringsByPrefix(" ");

            // Assert
            result.ShouldNotBeNull();
            result.ShouldBeEmpty();
        }
        public void GetAclStrings_Returns_Constants()
        {
            // Arrange
            var expected = AclStrings.TESTRESOURCE_READ;

            // Act
            var result = AclStrings.GetAclStrings();

            // Assert
            result.ShouldNotBeNull();
            result.Count.ShouldBeGreaterThan(0);
            result.ShouldContain(expected);
        }
Ejemplo n.º 5
0
        public IResult <bool> IsAllowed(LogicalOperator op, string resourcePrefix, string subject) => Do <bool> .Try((r) =>
        {
            var resourceVerbs = AclStrings.GetAclStringsByPrefix(resourcePrefix)?.ToResourceVerbs();

            var allowed = IsAllowed(op, resourceVerbs, subject);
            if (allowed.HasErrors)
            {
                r.AddErrors(allowed.Errors);
                return(false);
            }

            return(allowed.ResultObject);
        })
        .Result;