public async void HistoryQueryIterator_next_emits_OnData_when_data_is_available() { var response = new QueryResponse() { HasMore = true }; response.Results.AddRange(new[] { new QueryResultBytes() { ResultBytes = new KeyModification() { TxId = "txid1", IsDelete = false, Value = "foo".ToByteString() } .ToByteString() }, new QueryResultBytes() { ResultBytes = new KeyModification() { TxId = "txid2", IsDelete = true, Value = "foo".ToByteString() } .ToByteString() } }); QueryResult <KeyModification> queryResult = null; var iterator = new HistoryQueryIterator(null, null, null, response); iterator.Data += result => queryResult = result; var iteratorResult = await iterator.Next(); iteratorResult.Should().NotBeNull(); queryResult.Should().NotBeNull(); iteratorResult.Should().BeSameAs(queryResult); queryResult.Value.IsDelete.Should().BeFalse(); queryResult.Value.TxId.Should().Be("txid1"); queryResult.Value.Value.ToStringUtf8().Should().Be("foo"); iteratorResult = await iterator.Next(); iteratorResult.Should().NotBeNull(); queryResult.Should().NotBeNull(); iteratorResult.Should().BeSameAs(queryResult); queryResult.Value.IsDelete.Should().BeTrue(); queryResult.Value.TxId.Should().Be("txid2"); queryResult.Value.Value.ToStringUtf8().Should().Be("foo"); }
public async void GetHistoryForKey_invokes_the_handlers_GetHistoryForKey_handler() { var iteratorMock = new HistoryQueryIterator(null, string.Empty, string.Empty, null); var handlerMock = new Mock <IHandler>(); handlerMock.Setup(m => m.HandleGetHistoryForKey("key1", "ChannelId", "TxId")) .ReturnsAsync(iteratorMock); var stub = CreateValidChaincodeStubWithHandler(handlerMock.Object); var result = await stub.GetHistoryForKey("key1"); handlerMock.VerifyAll(); result.Should().BeSameAs(iteratorMock); }