public BlockObserverTests() { this.minimumDepositConfirmations = 10; this.federationGatewaySettings = Substitute.For <IFederationGatewaySettings>(); this.federationGatewaySettings.MinimumDepositConfirmations.Returns(this.minimumDepositConfirmations); this.federationWalletSyncManager = Substitute.For <IFederationWalletSyncManager>(); this.federationGatewayClient = Substitute.For <IFederationGatewayClient>(); this.chain = Substitute.ForPartsOf <ConcurrentChain>(); this.loggerFactory = Substitute.For <ILoggerFactory>(); this.opReturnDataReader = Substitute.For <IOpReturnDataReader>(); this.consensusManager = Substitute.For <IConsensusManager>(); this.withdrawalExtractor = Substitute.For <IWithdrawalExtractor>(); this.extractedWithdrawals = TestingValues.GetWithdrawals(2); this.withdrawalExtractor.ExtractWithdrawalsFromBlock(null, 0).ReturnsForAnyArgs(this.extractedWithdrawals); this.withdrawalReceiver = Substitute.For <IWithdrawalReceiver>(); this.signals = Substitute.For <ISignals>(); this.signals.OnBlockConnected.Returns(Substitute.For <EventNotifier <ChainedHeaderBlock> >()); this.depositExtractor = new DepositExtractor( this.loggerFactory, this.federationGatewaySettings, this.opReturnDataReader); this.blockObserver = new BlockObserver( this.federationWalletSyncManager, this.depositExtractor, this.withdrawalExtractor, this.withdrawalReceiver, this.federationGatewayClient, this.signals); }
public void OnNextCoreProcessesOnTheWalletSyncManager() { var walletSyncManager = new Mock <IWalletSyncManager>(); BlockObserver observer = new BlockObserver(walletSyncManager.Object); Block block = new Block(); observer.OnNext(block); walletSyncManager.Verify(w => w.ProcessBlock(block), Times.Exactly(1)); }
public void OnNextCoreProcessesOnTheWalletSyncManager() { var walletSyncManager = new Mock <IWalletSyncManager>(); var observer = new BlockObserver(walletSyncManager.Object); var block = Network.StratisMain.CreateBlock(); observer.OnNext(block); walletSyncManager.Verify(w => w.ProcessBlock(block), Times.Exactly(1)); }
public void SubscribeSubscribesObserverToSignaler() { var signaler = new Mock <ISignaler <Block> >(); var observer = new BlockObserver(new Mock <IWalletSyncManager>().Object); var blockSubscriber = new BlockSubscriber(signaler.Object, observer); blockSubscriber.Subscribe(); signaler.Verify(s => s.Subscribe(observer), Times.Exactly(1)); }
public void OnNextCoreProcessesOnTheWalletSyncManager() { var walletSyncManager = new Mock <IWalletSyncManager>(); var observer = new BlockObserver(walletSyncManager.Object); Block block = KnownNetworks.StratisMain.CreateBlock(); ChainedHeader header = ChainedHeadersHelper.CreateGenesisChainedHeader(); var chainedHeaderBlock = new ChainedHeaderBlock(block, header); observer.OnNext(chainedHeaderBlock); walletSyncManager.Verify(w => w.ProcessBlock(block), Times.Exactly(1)); }
public BlockObserverTests() { this.minimumDepositConfirmations = 10; this.federationGatewaySettings = Substitute.For <IFederationGatewaySettings>(); this.federationGatewaySettings.MinimumDepositConfirmations.Returns(this.minimumDepositConfirmations); this.leaderProvider = Substitute.For <ILeaderProvider>(); this.federationWalletSyncManager = Substitute.For <IFederationWalletSyncManager>(); this.fullNode = Substitute.For <IFullNode>(); this.maturedBlockSender = Substitute.For <IMaturedBlockSender>(); this.maturedBlocksProvider = Substitute.For <IMaturedBlocksProvider>(); this.blockTipSender = Substitute.For <IBlockTipSender>(); this.chain = Substitute.ForPartsOf <ConcurrentChain>(); this.fullNode.NodeService <ConcurrentChain>().Returns(this.chain); this.loggerFactory = Substitute.For <ILoggerFactory>(); this.opReturnDataReader = Substitute.For <IOpReturnDataReader>(); this.withdrawalExtractor = Substitute.For <IWithdrawalExtractor>(); this.extractedWithdrawals = TestingValues.GetWithdrawals(2); this.withdrawalExtractor.ExtractWithdrawalsFromBlock(null, 0) .ReturnsForAnyArgs(this.extractedWithdrawals); this.withdrawalReceiver = Substitute.For <IWithdrawalReceiver>(); this.depositExtractor = new DepositExtractor( this.loggerFactory, this.federationGatewaySettings, this.opReturnDataReader, this.fullNode); this.maturedBlocksProvider = new MaturedBlocksProvider( this.loggerFactory, this.chain, this.depositExtractor, Substitute.For <IBlockRepository>()); this.blockObserver = new BlockObserver( this.federationWalletSyncManager, this.depositExtractor, this.withdrawalExtractor, this.withdrawalReceiver, this.maturedBlockSender, this.maturedBlocksProvider, this.blockTipSender); }