Example #1
0
        public void VerifyThatBuiltInRulesCanBeExecutedAndMessageBusMessagesAreReceived()
        {
            var messageReceivedCounter = 0;

            var service = new RuleVerificationService(this.builtInRules);

            var ruleVerificationList = new RuleVerificationList(Guid.NewGuid(), this.cache, this.uri);

            this.iteration.RuleVerificationList.Add(ruleVerificationList);

            var builtInRuleVerification = new BuiltInRuleVerification(Guid.NewGuid(), this.cache, this.uri)
            {
                Name     = this.builtInRuleName,
                IsActive = true
            };

            ruleVerificationList.RuleVerification.Add(builtInRuleVerification);

            var listener = CDPMessageBus.Current.Listen <ObjectChangedEvent>(builtInRuleVerification)
                           .Subscribe(
                x => { messageReceivedCounter++; });

            service.Execute(this.session.Object, ruleVerificationList);

            Assert.IsTrue(builtInRuleVerification.Violation.Any());

            Assert.AreEqual(2, messageReceivedCounter);
        }
Example #2
0
        public void VerifyThatUserRuleVerificationCanBeExecutedAndMessageBusMessagesAreReceived()
        {
            var messageReceivedCounter = 0;

            var service = new RuleVerificationService(new List <Lazy <IBuiltInRule, IBuiltInRuleMetaData> >());

            var ruleVerificationList = new RuleVerificationList(Guid.NewGuid(), this.cache, this.uri);

            this.iteration.RuleVerificationList.Add(ruleVerificationList);

            var binaryRelationshipRule = new BinaryRelationshipRule(Guid.NewGuid(), this.cache, this.uri);
            var userRuleVerification   = new UserRuleVerification(Guid.NewGuid(), this.cache, this.uri)
            {
                IsActive = true,
                Rule     = binaryRelationshipRule
            };

            ruleVerificationList.RuleVerification.Add(userRuleVerification);

            var listener = CDPMessageBus.Current.Listen <ObjectChangedEvent>(userRuleVerification)
                           .Subscribe(
                x => { messageReceivedCounter++; });

            service.Execute(this.session.Object, ruleVerificationList);

            Assert.AreEqual(2, messageReceivedCounter);
        }
Example #3
0
        public void VerifyThatArgumentNotNullExceptionIsThrownWhenSessionIsNull()
        {
            var ruleVerificationList = new RuleVerificationList(Guid.NewGuid(), this.cache, this.uri);
            var service = new RuleVerificationService(this.builtInRules);

            Assert.Throws <ArgumentNullException>(() => service.Execute(null, ruleVerificationList));
        }
        public async Task VerifyThatUserRuleVerificationCanBeExecutedAndMessageBusMessagesAreReceived()
        {
            var messageReceivedCounter = 0;

            var service = new RuleVerificationService(new List <Lazy <IBuiltInRule, IBuiltInRuleMetaData> >());

            var ruleVerificationList = new RuleVerificationList(Guid.NewGuid(), this.cache, this.uri);

            this.iteration.RuleVerificationList.Add(ruleVerificationList);

            var binaryRelationshipRule = new BinaryRelationshipRule(Guid.NewGuid(), this.cache, this.uri);
            var userRuleVerification   = new UserRuleVerification(Guid.NewGuid(), this.cache, this.uri)
            {
                IsActive = true,
                Rule     = binaryRelationshipRule
            };

            this.session.Setup(s => s.Write(It.IsAny <OperationContainer>()))
            .Callback(() =>
            {
                CDPMessageBus.Current.SendObjectChangeEvent(userRuleVerification, EventKind.Updated);
            });

            ruleVerificationList.RuleVerification.Add(userRuleVerification);

            var listener = CDPMessageBus.Current.Listen <ObjectChangedEvent>(userRuleVerification)
                           .Subscribe(
                x => { messageReceivedCounter++; });

            await service.Execute(this.session.Object, ruleVerificationList);

            Assert.AreEqual(3, messageReceivedCounter);
        }
Example #5
0
        public void VerifyThatBuiltInRulesAreReturned()
        {
            var service = new RuleVerificationService(this.builtInRules);

            var builtinrules = service.BuiltInRules;

            Assert.IsTrue(builtinrules.Any(x => x.Value == this.testBuiltInRule));
        }
Example #6
0
        public void VerifyThatARuleCanBeRegisteredWithTheService()
        {
            var service = new RuleVerificationService(new List <Lazy <IBuiltInRule, IBuiltInRuleMetaData> >());

            Assert.IsEmpty(service.BuiltInRules);

            service.Register(this.testBuiltInRule, this.iBuiltInRuleMetaData.Object);

            Assert.IsTrue(service.BuiltInRules.Any(x => x.Value == this.testBuiltInRule));
        }
Example #7
0
        public void VerifyThatArgumentNotNullExceptionIsThrownWhenRuleVerificationListIsNull()
        {
            var service = new RuleVerificationService(this.builtInRules);

            Assert.Throws <ArgumentNullException>(() => service.Execute(this.session.Object, null));
        }