private IHandler CreateHandler( IMessageQueueFactory messageQueueFactory, IChaincodeSupportClientFactory chaincodeSupportClientFactory, IChaincodeStubFactory chaincodeStubFactory = null, IChaincode chaincode = null ) { return(new global::Thinktecture.HyperledgerFabric.Chaincode.NET.Handler.Handler( chaincode ?? new Mock <IChaincode>().Object, "example.test", 9999, chaincodeStubFactory ?? new Mock <IChaincodeStubFactory>().Object, new Mock <ILogger <global::Thinktecture.HyperledgerFabric.Chaincode.NET.Handler.Handler> >().Object, messageQueueFactory, chaincodeSupportClientFactory )); }
public Handler( IChaincode chaincode, string host, int port, IChaincodeStubFactory chaincodeStubFactory, ILogger <Handler> logger, IMessageQueueFactory messageQueueFactory, IChaincodeSupportClientFactory chaincodeSupportClientFactory ) { _chaincode = chaincode; _chaincodeStubFactory = chaincodeStubFactory; _logger = logger; // TODO: Secure channel? _client = chaincodeSupportClientFactory.Create(new Channel(host, port, ChannelCredentials.Insecure, new List <ChannelOption> { new ChannelOption("request-timeout", 30000) })); _messageQueue = messageQueueFactory.Create(this); }
CreateHandlerMockWithStreamExpectation( ChaincodeMessage responseMessage, IClientStreamWriter <ChaincodeMessage> requestStream = null, IMessageQueueFactory messageQueueFactory = null, IChaincodeStubFactory chaincodeStubFactory = null, IChaincode chaincode = null ) { var responseStreamMock = new Mock <IAsyncStreamReader <ChaincodeMessage> >(); responseStreamMock.SetupSequence(m => m.MoveNext(It.IsAny <CancellationToken>())) .ReturnsAsync(true) .ReturnsAsync(false); responseStreamMock.Setup(m => m.Current) .Returns(responseMessage); var asyncDuplexStream = new AsyncDuplexStreamingCall <ChaincodeMessage, ChaincodeMessage>( requestStream ?? new Mock <IClientStreamWriter <ChaincodeMessage> >().Object, responseStreamMock.Object, null, null, null, null ); var chaincodeSupportClientMock = new Mock <ChaincodeSupport.ChaincodeSupportClient>(); chaincodeSupportClientMock.Setup(m => m.Register(null, null, It.IsAny <CancellationToken>())) .Returns(asyncDuplexStream); var chaincodeSupportClientFactoryMock = new Mock <IChaincodeSupportClientFactory>(); chaincodeSupportClientFactoryMock.Setup(m => m.Create(It.IsAny <Channel>())) .Returns(chaincodeSupportClientMock.Object); var handler = CreateHandler(messageQueueFactory ?? new Mock <IMessageQueueFactory>().Object, chaincodeSupportClientFactoryMock.Object, chaincodeStubFactory, chaincode); return(responseStreamMock, chaincodeSupportClientMock, chaincodeSupportClientFactoryMock, handler); }