private ExtendedBlockPullerBehavior CreateBlockPullerBehavior() { var ibdState = new Mock <IInitialBlockDownloadState>(); ibdState.Setup(x => x.IsInitialBlockDownload()).Returns(() => true); var behavior = new ExtendedBlockPullerBehavior(this.Puller, ibdState.Object, new DateTimeProvider(), this.loggerFactory); return(behavior); }
/// <summary>Creates a peer with extended puller behavior.</summary> public Mock <INetworkPeer> CreatePeerMock(out ExtendedBlockPullerBehavior mockedBehavior, bool notSupportedVersion = false) { var peer = new Mock <INetworkPeer>(); var signals = new Blockcore.Signals.Signals(this.loggerFactory, null); var asyncProvider = new AsyncProvider(this.loggerFactory, signals, new NodeLifetime()); var connection = new NetworkPeerConnection(KnownNetworks.StratisMain, peer.Object, new TcpClient(), this.currentPeerId, (message, token) => Task.CompletedTask, new DateTimeProvider(), this.loggerFactory, new PayloadProvider(), asyncProvider); this.currentPeerId++; peer.SetupGet(networkPeer => networkPeer.Connection).Returns(connection); var connectionParameters = new NetworkPeerConnectionParameters(); VersionPayload version = connectionParameters.CreateVersion(new IPEndPoint(1, 1), new IPEndPoint(1, 1), KnownNetworks.StratisMain, new DateTimeProvider().GetTimeOffset()); if (notSupportedVersion) { version.Version = ProtocolVersion.MIN_PEER_PROTO_VERSION; } else { version.Services = NetworkPeerServices.Network; } peer.SetupGet(x => x.PeerVersion).Returns(version); peer.SetupGet(x => x.State).Returns(NetworkPeerState.HandShaked); peer.SetupGet(x => x.MessageReceived).Returns(new AsyncExecutionEvent <INetworkPeer, IncomingMessage>()); ExtendedBlockPullerBehavior behavior = this.CreateBlockPullerBehavior(); behavior.Attach(peer.Object); peer.Setup(x => x.Behavior <IBlockPullerBehavior>()).Returns(() => behavior); mockedBehavior = behavior; return(peer); }
/// <summary>Creates a peer with extended puller behavior.</summary> public INetworkPeer CreatePeer(out ExtendedBlockPullerBehavior mockedBehavior, bool notSupportedVersion = false) { return(this.CreatePeerMock(out mockedBehavior, notSupportedVersion).Object); }