public async Task Can_receive_PingRequest() { var pingRequestHandler = new TestMessageObserver <PingRequest>(_logger); var request = new PingRequest().ToProtocolMessage(_pid, _guid); await InitialisePeerServiceAndSendMessage(pingRequestHandler, request).ConfigureAwait(false); pingRequestHandler.SubstituteObserver.Received().OnNext(Arg.Any <PingRequest>()); }
public async Task Can_receive_incoming_ping_responses() { var messageObserver = new TestMessageObserver <PingResponse>(_logger); var protocolMessage = new PingResponse().ToProtocolMessage(_pid, _guid); await InitialisePeerServiceAndSendMessage(messageObserver, protocolMessage).ConfigureAwait(false); messageObserver.SubstituteObserver.Received().OnNext(Arg.Any <PingResponse>()); }
public void Broadcast_Can_Execute_Proto_Handler() { var testScheduler = new TestScheduler(); var handler = new TestMessageObserver <TransactionBroadcast>(Substitute.For <ILogger>()); var protoDatagramChannelHandler = new ObservableServiceHandler(testScheduler); handler.StartObserving(protoDatagramChannelHandler.MessageStream); var channel = new EmbeddedChannel(new ProtocolMessageVerifyHandler(_keySigner), _broadcastHandler, protoDatagramChannelHandler); channel.WriteInbound(_broadcastMessageSigned); testScheduler.Start(); handler.SubstituteObserver.Received(1).OnNext(Arg.Any <TransactionBroadcast>()); }
public async Task Can_receive_PeerNeighborsResponse() { var pingRequestHandler = new TestMessageObserver <PeerNeighborsResponse>(_logger); var neighbourIds = "abc".Select(i => PeerIdHelper.GetPeerId(i.ToString())); var responseContent = new PeerNeighborsResponse(); responseContent.Peers.AddRange(neighbourIds); var response = responseContent.ToProtocolMessage(_pid, _guid); await InitialisePeerServiceAndSendMessage(pingRequestHandler, response).ConfigureAwait(false); pingRequestHandler.SubstituteObserver.Received(1).OnNext(Arg.Any <PeerNeighborsResponse>()); var call = pingRequestHandler.SubstituteObserver.ReceivedCalls().Single(); ((PeerNeighborsResponse)call.GetArguments()[0]).Peers .Should().BeEquivalentTo(responseContent.Peers); }