Exemplo n.º 1
0
        public void TestPeerReputationRequestResponse(string publicKeySeed, int expectedReputations)
        {
            var peerId = PeerIdHelper.GetPeerId(publicKeySeed);

            var request = new GetPeerReputationRequest {
                Ip = peerId.Ip, PublicKey = peerId.PublicKey
            };

            var responseContent = GetGetPeerReputationResponse(request);

            responseContent.Reputation.Should().Be(expectedReputations);
        }
        private GetPeerReputationResponse GetGetPeerReputationResponse(GetPeerReputationRequest request)
        {
            var protocolMessage = request.ToProtocolMessage(_senderId);
            var messageStream   = MessageStreamHelper.CreateStreamWithMessage(_fakeContext, _testScheduler, protocolMessage);

            var peerSettings = _senderId.ToSubstitutedPeerSettings();
            var handler      = new PeerReputationRequestObserver(peerSettings, _logger, _peerRepository);

            handler.StartObserving(messageStream);

            _testScheduler.Start();

            var receivedCalls = _fakeContext.Channel.ReceivedCalls().ToList();

            receivedCalls.Count.Should().Be(1);

            var sentResponseDto = (IMessageDto <ProtocolMessage>)receivedCalls.Single().GetArguments().Single();

            return(sentResponseDto.Content.FromProtocolMessage <GetPeerReputationResponse>());
        }