public async Task SubscribeToResponse_Without_Response_Handler_Should_Throw_Exception() { var nodeRpcClientFactory = new RpcClientFactory(_channelFactory, _clientEventLoopGroupFactory, new List <IRpcResponseObserver>()); var nodeRpcClient = await nodeRpcClientFactory.GetClientAsync(null, _rpcClientConfig); var targetVersionResponse = new VersionResponse { Version = "1.2.3.4" }; var protocolMessage = targetVersionResponse.ToProtocolMessage(_peerIdentifier, CorrelationId.GenerateCorrelationId()); var observerDto = new ObserverDto(_channelHandlerContext, protocolMessage); Assert.Throws <ResponseHandlerDoesNotExistException>(() => { _mockSocketReplySubject.OnNext(observerDto); nodeRpcClient.SubscribeToResponse <VersionResponse>(response => { }); _testScheduler.Start(); }); }
public async Task SubscribeToResponse_Should_Not_Return_Invalid_Response() { var nodeRpcClientFactory = new RpcClientFactory(_channelFactory, _clientEventLoopGroupFactory, new List <IRpcResponseObserver> { new GetVersionResponseObserver(_logger) }); var nodeRpcClient = await nodeRpcClientFactory.GetClientAsync(null, _rpcClientConfig); var receivedResponse = false; var targetVersionResponse = new VersionResponse { Version = "1.2.3.4" }; var protocolMessage = targetVersionResponse.ToProtocolMessage(_peerIdentifier, CorrelationId.GenerateCorrelationId()); var observerDto = new ObserverDto(_channelHandlerContext, protocolMessage); _mockSocketReplySubject.OnNext(observerDto); nodeRpcClient.SubscribeToResponse <GetDeltaResponse>(response => receivedResponse = true); _testScheduler.Start(); receivedResponse.Should().BeFalse(); }