public void TestGetStateByPartialCompositeKeyWithPagination() { QueryMetadata queryMetadata = new QueryMetadata { Bookmark = "aaaa", PageSize = 1 }; ChaincodeStub stub = PrepareStubAndMockHandler(true, queryMetadata.ToByteString()); CompositeKey key = new CompositeKey("KEY"); IQueryResultsEnumerable <IKeyValue> queryResultsIterator = stub.GetStateByPartialCompositeKeyWithPagination(key, 1, "aaaa"); queryResultsIterator.First(); //Otherwise GetStateByRangeAsync will not be executed, that Or GetMetadata() handler.Verify(a => a.GetStateByRangeAsync("myc", "txId", "", key.ToString(), key.ToString() + "\udbff\udfff", queryMetadata.ToByteString(), It.IsAny <CancellationToken>())); Assert.AreEqual(queryResultsIterator.GetMetadata().FetchedRecordsCount, 2); Assert.AreEqual(queryResultsIterator.GetMetadata().Bookmark, "bbbb"); key = new CompositeKey(""); queryResultsIterator = stub.GetStateByPartialCompositeKeyWithPagination(key, 1, "aaaa"); queryResultsIterator.First(); //Otherwise GetStateByRangeAsync will not be executed, that Or GetMetadata() handler.Verify(a => a.GetStateByRangeAsync("myc", "txId", "", key.ToString(), key.ToString() + "\udbff\udfff", queryMetadata.ToByteString(), It.IsAny <CancellationToken>())); Assert.AreEqual(queryResultsIterator.GetMetadata().FetchedRecordsCount, 2); Assert.AreEqual(queryResultsIterator.GetMetadata().Bookmark, "bbbb"); }
public override Response Invoke(IChaincodeStub stub) { string key = stub.StringArgs[1]; using (IQueryResultsEnumerable <IKeyModification> stateByRange = stub.GetHistoryForKey(key)) { foreach (IKeyModification kv in stateByRange) { //Do Nothing, just enumerate } } return(NewSuccessResponse("OK response2")); }
public override Response Invoke(IChaincodeStub stub) { string query = stub.StringArgs[1]; using (IQueryResultsEnumerable <IKeyValue> stateByRange = stub.GetQueryResult(query)) { foreach (IKeyValue kv in stateByRange) { //Do Nothing, just enumerate } } return(NewSuccessResponse("OK response2")); }
public override Response Invoke(IChaincodeStub stub) { Assert.AreEqual(stub.Function, "invoke"); Assert.AreEqual(stub.Args.Count, 3); string aKey = stub.StringArgs[1]; string bKey = stub.StringArgs[2]; using (IQueryResultsEnumerable <IKeyValue> stateByRange = stub.GetStateByRange(aKey, bKey)) { foreach (IKeyValue kv in stateByRange) { //Do Nothing, just enumerate } } return(NewSuccessResponse("OK response2")); }
public void TestGetStateByRangeWithPagination() { ChaincodeStub stub = new ChaincodeStub("myc", "txId", handler.Object, new List <ByteString>(), null); string startKey = "START"; string endKey = "END"; KV[] keyValues = PrepareKeyValuePairs(2); QueryResponse value = PrepareQueryResponseForRange(keyValues, true); QueryMetadata queryMetadata = new QueryMetadata { Bookmark = "aaaa", PageSize = 1 }; handler.Setup((a) => a.GetStateByRangeAsync("myc", "txId", "", startKey, endKey, queryMetadata.ToByteString(), token)).ReturnsAsync(value); IQueryResultsEnumerable <IKeyValue> queryResultsIterator = stub.GetStateByRangeWithPagination(startKey, endKey, 1, "aaaa"); Assert.That.Contains(queryResultsIterator, keyValues.Select(a => new KeyValue(a))); Assert.AreEqual(queryResultsIterator.GetMetadata().FetchedRecordsCount, 2); Assert.AreEqual(queryResultsIterator.GetMetadata().Bookmark, "bbbb"); }