Exemplo n.º 1
0
        public async Task HandleEventAsync_UnderLIBHeight_DoesNothing()
        {
            var announcement = new PeerNewBlockAnnouncement
            {
                BlockHash   = Hash.FromString("block"),
                BlockHeight = 1,
                BlockTime   = DateTime.UtcNow.ToTimestamp()
            };
            var exception = await Record.ExceptionAsync(async() =>
                                                        await _handler.HandleEventAsync(new AnnouncementReceivedEventData(announcement, "bp1")));

            Assert.Null(exception);
        }
        public async Task HandleEvent_Test()
        {
            var eventData = new PeerConnectedEventData
                            (
                new NodeInfo {
                Endpoint = "127.0.0.1:1234", Pubkey = ByteString.CopyFromUtf8("Pubkey")
            },
                HashHelper.ComputeFrom("BestChainHash"),
                100
                            );

            AnnouncementReceivedEventData announcementEventData = null;

            _eventBus.Subscribe <AnnouncementReceivedEventData>(d =>
            {
                announcementEventData = d;
                return(Task.CompletedTask);
            });

            await _peerConnectedEventHandler.HandleEventAsync(eventData);

            var nodes = await _peerDiscoveryService.GetNodesAsync(1);

            nodes.Nodes[0].ShouldBe(eventData.NodeInfo);

            announcementEventData.ShouldNotBeNull();
            announcementEventData.Announce.BlockHash.ShouldBe(eventData.BestChainHash);
            announcementEventData.Announce.BlockHeight.ShouldBe(eventData.BestChainHeight);
            announcementEventData.SenderPubKey.ShouldBe(eventData.NodeInfo.Pubkey.ToHex());
        }