public async Task ValidateAsync_RuleWithValidationRuleAttribute_GetsRunAsync() { var rule = new ConsensusRuleWithValidationAttribute(); TestConsensusRules consensusRules = InitializeConsensusRules(); this.network.Consensus.Rules = new List <IConsensusRule> { rule }; consensusRules.Register(); await consensusRules.ValidateAsync(new RuleContext() { SkipValidation = true }); Assert.True(rule.RunCalled); }
public async Task ValidateAsync_RuleWithValidationRuleAttribute_GetsRunAsync() { var rule = new ConsensusRuleWithValidationAttribute(); this.ruleRegistrations = new List <ConsensusRule> { rule }; var consensusRules = InitializeConsensusRules(); consensusRules.Register(this.ruleRegistration.Object); await consensusRules.ValidateAsync(new RuleContext() { SkipValidation = true }); Assert.True(rule.RunCalled); }
public async Task ExecuteAsync_RuleCannotSkipValidation_ContextCannotSkipValidation_RunsRuleAsync() { var rule = new ConsensusRuleWithValidationAttribute(); var blockValidationContext = new ValidationContext() { RuleContext = new RuleContext() { SkipValidation = false } }; TestConsensusRules consensusRules = InitializeConsensusRules(); this.network.Consensus.Rules = new List <IConsensusRule> { rule }; consensusRules.Register(); await consensusRules.AcceptBlockAsync(blockValidationContext, new ChainedHeader(this.network.GetGenesis().Header, this.network.GenesisHash, 0)); Assert.True(rule.RunCalled); Assert.Null(blockValidationContext.Error); }
public async Task ExecuteAsync_RuleCannotSkipValidation_ContextCannotSkipValidation_RunsRuleAsync() { var rule = new ConsensusRuleWithValidationAttribute(); this.ruleRegistrations = new List <ConsensusRule> { rule }; var blockValidationContext = new BlockValidationContext() { RuleContext = new RuleContext() { SkipValidation = false } }; var consensusRules = InitializeConsensusRules(); consensusRules.Register(this.ruleRegistration.Object); await consensusRules.ExecuteAsync(blockValidationContext); Assert.True(rule.RunCalled); Assert.Null(blockValidationContext.Error); }