Exemplo n.º 1
0
        public static void Test()
        {
            Parse(TestRules.Replace("\r\n", "\n"), TestInput.Replace("\r\n", "\n"));
            var re = AssembleRegex(false);

            foreach (var input in Input)
            {
                Console.WriteLine($"{input} : {re.IsMatch(input)}");
            }
            Console.WriteLine();
        }
        public async Task ReturnsSkipIfNoDecisionIsMade()
        {
            using (var rules = new TestRules <Album>(new Album()))
            {
                var subject = new ShortCircuitPolicy <Album>(
                    rules.SkipRule());
                var copy   = subject.BuildCopy(rules.SourceContext, rules.SourceNode);
                var result = await copy.AuthorizeAsync();

                Assert.IsType <Skip>(result);
            }
        }
        public async Task ReturnsAllowIfFirstDecisionIsAllow()
        {
            using (var rules = new TestRules <Album>(new Album()))
            {
                var subject = new ShortCircuitPolicy <Album>(
                    rules.SkipRule(),
                    rules.AllowRule(),
                    rules.DenyRule());
                var copy   = subject.BuildCopy(rules.SourceContext, rules.SourceNode);
                var result = await copy.AuthorizeAsync();

                Assert.IsType <Allow <Album> >(result);
            }
        }
Exemplo n.º 4
0
 public bool AddRule(Rule rule)
 {
     rule.Connections = Distributor.ResolveConnections(rule.Connections.Select(c => c.ToString()));
     TestRules.Add(rule);
     return(true);
 }
Exemplo n.º 5
0
 public void Init()
 {
     rule = new TestRules();
 }