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); }
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;