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 IAsyncQueryResultsEnumerable <IKeyValue> GetStateByRangeWithPaginationAsync(string startKey, string endKey, int pageSize, string bookmark) { if (string.IsNullOrEmpty(startKey)) { startKey = UNSPECIFIED_KEY; } if (string.IsNullOrEmpty(endKey)) { endKey = UNSPECIFIED_KEY; } CompositeKey.ValidateSimpleKeys(startKey, endKey); QueryMetadata queryMetadata = new QueryMetadata { Bookmark = bookmark, PageSize = pageSize }; return(ExecuteGetStateByRangeWithMetadata("", startKey, endKey, queryMetadata.ToByteString())); }
public IAsyncQueryResultsEnumerable <IKeyValue> GetQueryResultWithPaginationAsync(string query, int pageSize, string bookmark) { QueryMetadata queryMetadata = new QueryMetadata { Bookmark = bookmark, PageSize = pageSize }; return(new AsyncQueryResultsEnumerable <IKeyValue>(handler, ChannelId, TxId, (token) => handler.GetQueryResultAsync(ChannelId, TxId, "", query, queryMetadata.ToByteString(), token), qv => new KeyValue(KV.Parser.ParseFrom(qv.ResultBytes)))); }
public IAsyncQueryResultsEnumerable <IKeyValue> GetStateByPartialCompositeKeyWithPaginationAsync(CompositeKey compositeKey, int pageSize, string bookmark) { if (compositeKey == null) { compositeKey = new CompositeKey(UNSPECIFIED_KEY); } string cKeyAsString = compositeKey.ToString(); QueryMetadata queryMetadata = new QueryMetadata { Bookmark = bookmark, PageSize = pageSize }; return(ExecuteGetStateByRangeWithMetadata("", cKeyAsString, cKeyAsString + MAX_UNICODE_RUNE, queryMetadata.ToByteString())); }
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"); }