public void LeaderChange() { using (SidechainTestContext context = new SidechainTestContext()) { context.StartAndConnectNodes(); IFederationGatewaySettings federationGatewaySettings = new FederationGatewaySettings(context.FedSide1.FullNode.Settings); ILeaderProvider leaderProvider = new LeaderProvider(federationGatewaySettings); PubKey currentLeader = leaderProvider.CurrentLeaderKey; int tipBefore = context.FedSide1.GetTip().Height; // TODO check blocks get mined and make sure the block notification will change // the leader. TestHelper.WaitLoop( () => { return(context.FedSide1.GetTip().Height >= tipBefore + 5); } ); leaderProvider.CurrentLeaderKey.Should().NotBe(currentLeader); } }
public void LeaderChange() { using (SidechainNodeBuilder builder = SidechainNodeBuilder.CreateSidechainNodeBuilder(this)) { builder.ConfigParameters.Add("sidechain", "true"); builder.ConfigParameters.Add("redeemscript", this.scriptAndAddresses.payToMultiSig.ToString()); builder.ConfigParameters.Add("publickey", this.pubKeysByMnemonic[this.mnemonics[0]].ToString()); CoreNode node = builder.CreateSidechainNode(this.sidechainNetwork, this.sidechainNetwork.FederationKeys[0]); node.Start(); node.EnableFastMining(); IFederationGatewaySettings federationGatewaySettings = new FederationGatewaySettings(node.FullNode.Settings); ILeaderProvider leaderProvider = new LeaderProvider(federationGatewaySettings); PubKey currentLeader = leaderProvider.CurrentLeader; var tipBefore = node.GetTip().Height; // TODO check blocks get mined and make sure the block notification will change // the leader //TestHelper.WaitLoop( // () => // { // return node.GetTip().Height >= tipBefore + 5; // } // ); //leaderProvider.CurrentLeader.Should().NotBe(currentLeader); } }
public void LeaderChange() { this.StartAndConnectNodes(); IFederationGatewaySettings federationGatewaySettings = new FederationGatewaySettings(this.MainAndSideChainNodeMap["fedSide1"].Node.FullNode.Settings); ILeaderProvider leaderProvider = new LeaderProvider(federationGatewaySettings); PubKey currentLeader = leaderProvider.CurrentLeader; var tipBefore = this.MainAndSideChainNodeMap["fedSide1"].Node.GetTip().Height; // TODO check blocks get mined and make sure the block notification will change // the leader. TestHelper.WaitLoop( () => { return(this.MainAndSideChainNodeMap["fedSide1"].Node.GetTip().Height >= tipBefore + 5); } ); leaderProvider.CurrentLeader.Should().NotBe(currentLeader); }
public LeaderProviderTests() { this.federationGatewaySettings = Substitute.For <IFederationGatewaySettings>(); this.federationGatewaySettings.FederationPublicKeys.Returns(this.BuildLeaderPubKeys()); this.leaderProvider = new LeaderProvider(this.federationGatewaySettings); }