Esempio n. 1
0
        public void RuleLocationUS_Fail()
        {
            var retrieveTokenInfoMock = new Mock<IRetrieveTokenInfo>(MockBehavior.Strict);
            retrieveTokenInfoMock.Setup(s => s.GetTokenInfo(It.IsAny<string>()))
                .Returns(new TokenInfo()
                    { Location = "EU", NoOfTimesCalledInLastHour = 100, LastRequestTime = DateTime.Now.AddHours(-3) });

            IRulesEngine ruleEngine = new RulesEngine();
            ruleEngine.AddRule(new RuleLocationUS());
            IResource resource1 = new Resource1("tkn", ruleEngine, retrieveTokenInfoMock.Object);

            var result = resource1.CanContinue();

            Assert.IsFalse(result);
        }
Esempio n. 2
0
        public void RequetsPerHour_10Min_RuleLocationUS_Success()
        {
            var retrieveTokenInfoMock = new Mock<IRetrieveTokenInfo>(MockBehavior.Strict);
            retrieveTokenInfoMock.Setup(s => s.GetTokenInfo(It.IsAny<string>()))
                .Returns(new TokenInfo()
                    { Location = "US", NoOfTimesCalledInLastHour = 89, LastRequestTime = DateTime.Now.AddHours(-3) });

            IRulesEngine ruleEngine = new RulesEngine();
            ruleEngine.AddRule(new RuleRequetsPerHour());
            ruleEngine.AddRule(new Rule10MinPassedSinceLastCall());
            ruleEngine.AddRule(new RuleLocationUS());
            IResource resource1 = new Resource1("tkn", ruleEngine, retrieveTokenInfoMock.Object);

            var result = resource1.CanContinue();

            Assert.IsTrue(result);
        }