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); }
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); }
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); }
public void VerifyThatBuiltInRulesAreReturned() { var service = new RuleVerificationService(this.builtInRules); var builtinrules = service.BuiltInRules; Assert.IsTrue(builtinrules.Any(x => x.Value == this.testBuiltInRule)); }
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)); }
public void VerifyThatArgumentNotNullExceptionIsThrownWhenRuleVerificationListIsNull() { var service = new RuleVerificationService(this.builtInRules); Assert.Throws <ArgumentNullException>(() => service.Execute(this.session.Object, null)); }