public void IsMatch_Success() { // Recursive ACL Acl acl = new Acl(new[] { subject }, path, true, new StringPattern("name", PatternMatchingStrategy.Exact), permissions); // Match (recursiveOnly = true) Assert.True(acl.IsMatch(evidence, path, true, "name")); // Match (recursiveOnly = false) Assert.True(acl.IsMatch(evidence, path, false, "name")); // Non-recursive ACL acl = new Acl(new[] { subject }, path, false, new StringPattern("name", PatternMatchingStrategy.Exact), permissions); // Match (recursiveOnly = false) Assert.True(acl.IsMatch(evidence, path, false, "name")); // Error: record non recursive (recursiveOnly = true) Assert.False(acl.IsMatch(evidence, path, true, "name")); // Error: path mismatch Assert.False(acl.IsMatch(evidence, LedgerPath.Parse("/"), false, "name")); // Error: name mismatch Assert.False(acl.IsMatch(evidence, path, false, "n")); // Error: identity mismatch Assert.False(acl.IsMatch(new[] { new SignatureEvidence(ByteString.Parse("ab"), ByteString.Empty) }, path, false, "name")); }