use Core::PagedResponse (#2158)

* use Core::PagedResponse

* null if continuation token is empty
This commit is contained in:
JinmingHu 2021-04-27 13:32:57 +08:00 committed by GitHub
parent fe9002e905
commit 8a369f5e27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 70 additions and 108 deletions

View File

@ -2,6 +2,9 @@
## 12.0.0-beta.11 (Unreleased)
### Breaking Changes
- Renamed `HasMorePages()` in paged response to `HasPage()`.
## 12.0.0-beta.10 (2021-04-16)

View File

@ -9,7 +9,7 @@
#include <vector>
#include <azure/core/operation.hpp>
#include <azure/storage/common/paged_response.hpp>
#include <azure/core/paged_response.hpp>
#include "azure/storage/blobs/blob_options.hpp"
#include "azure/storage/blobs/protocol/blob_rest_client.hpp"
@ -118,7 +118,8 @@ namespace Azure { namespace Storage {
friend class Blobs::PageBlobClient;
};
class ListBlobContainersPagedResponse : public PagedResponse<ListBlobContainersPagedResponse> {
class ListBlobContainersPagedResponse
: public Azure::Core::PagedResponse<ListBlobContainersPagedResponse> {
public:
std::string ServiceEndpoint;
std::string Prefix;
@ -135,7 +136,8 @@ namespace Azure { namespace Storage {
friend class Files::DataLake::ListFileSystemsPagedResponse;
};
class FindBlobsByTagsPagedResponse : public PagedResponse<FindBlobsByTagsPagedResponse> {
class FindBlobsByTagsPagedResponse
: public Azure::Core::PagedResponse<FindBlobsByTagsPagedResponse> {
public:
std::string ServiceEndpoint;
std::vector<Models::TaggedBlobItem> TaggedBlobs;
@ -151,7 +153,7 @@ namespace Azure { namespace Storage {
friend class PagedResponse<FindBlobsByTagsPagedResponse>;
};
class ListBlobsPagedResponse : public PagedResponse<ListBlobsPagedResponse> {
class ListBlobsPagedResponse : public Azure::Core::PagedResponse<ListBlobsPagedResponse> {
public:
std::string ServiceEndpoint;
std::string BlobContainerName;
@ -169,7 +171,7 @@ namespace Azure { namespace Storage {
};
class ListBlobsByHierarchyPagedResponse
: public PagedResponse<ListBlobsByHierarchyPagedResponse> {
: public Azure::Core::PagedResponse<ListBlobsByHierarchyPagedResponse> {
public:
std::string ServiceEndpoint;
std::string BlobContainerName;
@ -189,7 +191,8 @@ namespace Azure { namespace Storage {
friend class PagedResponse<ListBlobsByHierarchyPagedResponse>;
};
class GetPageRangesPagedResponse : public PagedResponse<GetPageRangesPagedResponse> {
class GetPageRangesPagedResponse
: public Azure::Core::PagedResponse<GetPageRangesPagedResponse> {
public:
Azure::ETag ETag;
Azure::DateTime LastModified;
@ -206,7 +209,8 @@ namespace Azure { namespace Storage {
friend class PagedResponse<GetPageRangesPagedResponse>;
};
class GetPageRangesDiffPagedResponse : public PagedResponse<GetPageRangesDiffPagedResponse> {
class GetPageRangesDiffPagedResponse
: public Azure::Core::PagedResponse<GetPageRangesDiffPagedResponse> {
public:
Azure::ETag ETag;
Azure::DateTime LastModified;

View File

@ -270,7 +270,7 @@ namespace Azure { namespace Storage { namespace Blobs {
pagedResponse.m_blobContainerClient = std::make_shared<BlobContainerClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;
@ -323,7 +323,7 @@ namespace Azure { namespace Storage { namespace Blobs {
pagedResponse.m_operationOptions = options;
pagedResponse.m_delimiter = delimiter;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -138,7 +138,7 @@ namespace Azure { namespace Storage { namespace Blobs {
pagedResponse.m_blobServiceClient = std::make_shared<BlobServiceClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;
@ -220,7 +220,7 @@ namespace Azure { namespace Storage { namespace Blobs {
pagedResponse.m_operationOptions = options;
pagedResponse.m_tagFilterSqlExpression = tagFilterSqlExpression;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -279,7 +279,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobsOptions options;
options.Prefix = blobName;
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages();
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage();
pageResponse.MoveToNextPage())
{
for (const auto& blob : pageResponse.Blobs)
@ -310,7 +310,7 @@ namespace Azure { namespace Storage { namespace Test {
EXPECT_TRUE(getPropertiesResult.Value.IsSealed.HasValue());
EXPECT_TRUE(getPropertiesResult.Value.IsSealed.Value());
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages();
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage();
pageResponse.MoveToNextPage())
{
for (const auto& blob : pageResponse.Blobs)

View File

@ -162,7 +162,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobsOptions options;
options.PageSizeHint = 4;
std::set<std::string> listBlobs;
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
@ -214,7 +214,7 @@ namespace Azure { namespace Storage { namespace Test {
options.Prefix = prefix1;
listBlobs.clear();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)
@ -248,7 +248,7 @@ namespace Azure { namespace Storage { namespace Test {
options.Prefix = prefix;
std::set<std::string> items;
for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_EQ(pageResult.Delimiter, delimiter);
@ -266,7 +266,7 @@ namespace Azure { namespace Storage { namespace Test {
{
options.Prefix = p + delimiter;
for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_EQ(pageResult.Delimiter, delimiter);
@ -307,7 +307,7 @@ namespace Azure { namespace Storage { namespace Test {
bool foundDeleted = false;
bool foundMetadata = false;
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)
@ -730,7 +730,7 @@ namespace Azure { namespace Storage { namespace Test {
for (int i = 0; i < 30; ++i)
{
for (auto pageResult = blobServiceClient.FindBlobsByTags(whereExpression);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_FALSE(pageResult.ServiceEndpoint.empty());

View File

@ -110,8 +110,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobContainersOptions options;
options.PageSizeHint = 4;
std::set<std::string> listContainers;
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
pageResult.HasMorePages();
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
@ -132,8 +131,7 @@ namespace Azure { namespace Storage { namespace Test {
options.Prefix = prefix1;
listContainers.clear();
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
pageResult.HasMorePages();
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
@ -367,8 +365,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobContainersOptions options;
options.Prefix = containerName;
options.Include = Blobs::Models::ListBlobContainersIncludeFlags::Deleted;
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
pageResult.HasMorePages();
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& container : pageResult.BlobContainers)

View File

@ -154,7 +154,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobsOptions options;
options.Prefix = m_blobName;
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)
@ -322,7 +322,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobsOptions options;
options.Prefix = blobName;
options.Include = Blobs::Models::ListBlobsIncludeFlags::Versions;
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)
@ -976,7 +976,7 @@ namespace Azure { namespace Storage { namespace Test {
Azure::Storage::Blobs::ListBlobsOptions options;
options.Prefix = blobName;
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)
@ -1002,7 +1002,7 @@ namespace Azure { namespace Storage { namespace Test {
EXPECT_FALSE(properties.IsAccessTierInferred.Value());
EXPECT_TRUE(properties.AccessTierChangedOn.HasValue());
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
for (const auto& blob : pageResult.Blobs)

View File

@ -100,7 +100,7 @@ namespace Azure { namespace Storage { namespace Test {
EXPECT_EQ(ReadBodyStream(downloadContent.Value.BodyStream), blobContent);
std::vector<Core::Http::HttpRange> pageRanges;
for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasMorePages();
for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasPage();
pageResult.MoveToNextPage())
{
pageRanges.insert(
@ -115,7 +115,7 @@ namespace Azure { namespace Storage { namespace Test {
options.Range.Value().Offset = 4_KB;
options.Range.Value().Length = 1_KB;
pageRanges.clear();
for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasMorePages();
for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
pageRanges.insert(
@ -135,7 +135,7 @@ namespace Azure { namespace Storage { namespace Test {
pageRanges.clear();
std::vector<Core::Http::HttpRange> clearRanges;
for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasMorePages();
for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasPage();
pageResult.MoveToNextPage())
{
pageRanges.insert(

View File

@ -2,6 +2,7 @@
## 12.0.0-beta.11 (Unreleased)
- Removed `Azure::PagedResponse<T>`.
## 12.0.0-beta.10 (2021-04-16)

View File

@ -38,7 +38,6 @@ set(
inc/azure/storage/common/crypt.hpp
inc/azure/storage/common/dll_import_export.hpp
inc/azure/storage/common/file_io.hpp
inc/azure/storage/common/paged_response.hpp
inc/azure/storage/common/reliable_stream.hpp
inc/azure/storage/common/shared_key_policy.hpp
inc/azure/storage/common/storage_common.hpp

View File

@ -1,47 +0,0 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// SPDX-License-Identifier: MIT
#pragma once
#include <cstdlib>
#include <string>
#include <azure/core/context.hpp>
#include <azure/core/http/raw_response.hpp>
namespace Azure {
template <class Derived> class PagedResponse {
public:
std::string CurrentPageToken;
std::string NextPageToken;
std::unique_ptr<Azure::Core::Http::RawResponse> RawResponse;
bool HasMorePages() const { return m_hasMorePages; }
void MoveToNextPage(const Azure::Core::Context& context = Azure::Core::Context())
{
static_assert(
std::is_base_of<PagedResponse, Derived>::value,
"The template argument \"Derived\" should derive from PagedResponse<Derived>.");
if (NextPageToken.empty())
{
m_hasMorePages = false;
return;
}
// Developer of Derived class should make sure current page is kept unchanged if OnNextPage()
// throws exception.
static_cast<Derived*>(this)->OnNextPage(context);
}
protected:
PagedResponse() = default;
PagedResponse(PagedResponse&&) = default;
PagedResponse& operator=(PagedResponse&&) = default;
private:
bool m_hasMorePages = true;
};
} // namespace Azure

View File

@ -2,6 +2,9 @@
## 12.0.0-beta.11 (Unreleased)
### Breaking Changes
- Renamed `HasMorePages()` in paged response to `HasPage()`.
## 12.0.0-beta.10 (2021-04-16)

View File

@ -252,7 +252,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
} // namespace Models
class ListFileSystemsPagedResponse : public PagedResponse<ListFileSystemsPagedResponse> {
class ListFileSystemsPagedResponse
: public Azure::Core::PagedResponse<ListFileSystemsPagedResponse> {
public:
std::string ServiceEndpoint;
std::string Prefix;
@ -268,7 +269,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
friend class PagedResponse<ListFileSystemsPagedResponse>;
};
class ListPathsPagedResponse : public PagedResponse<ListPathsPagedResponse> {
class ListPathsPagedResponse : public Azure::Core::PagedResponse<ListPathsPagedResponse> {
public:
std::vector<Models::PathItem> Paths;

View File

@ -246,7 +246,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
pagedResponse.Paths = std::move(response.Value.Items);
pagedResponse.m_onNextPageFunc = func;
pagedResponse.CurrentPageToken = continuationToken;
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -292,7 +292,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
pagedResponse.Paths = std::move(response.Value.Items);
pagedResponse.m_onNextPageFunc = func;
pagedResponse.CurrentPageToken = continuationToken;
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -89,7 +89,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
void ListPathsPagedResponse::OnNextPage(const Azure::Core::Context& context)
{
*this = m_onNextPageFunc(NextPageToken, context);
*this = m_onNextPageFunc(NextPageToken.Value(), context);
}
}}}} // namespace Azure::Storage::Files::DataLake

View File

@ -65,7 +65,7 @@ namespace Azure { namespace Storage { namespace Test {
if (directory.empty())
{
for (auto pageResult = m_fileSystemClient->ListPaths(recursive, options);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end());
@ -74,8 +74,7 @@ namespace Azure { namespace Storage { namespace Test {
else
{
auto directoryClient = m_fileSystemClient->GetDirectoryClient(directory);
for (auto pageResult = directoryClient.ListPaths(recursive, options);
pageResult.HasMorePages();
for (auto pageResult = directoryClient.ListPaths(recursive, options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end());

View File

@ -63,8 +63,7 @@ namespace Azure { namespace Storage { namespace Test {
{
options.Prefix = prefix;
}
for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options);
pageResult.HasMorePages();
for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
result.insert(result.end(), pageResult.FileSystems.begin(), pageResult.FileSystems.end());

View File

@ -2,6 +2,9 @@
## 12.0.0-beta.11 (Unreleased)
### Breaking Changes
- Renamed `HasMorePages()` in paged response to `HasPage()`.
## 12.0.0-beta.10 (2021-04-16)

View File

@ -4,7 +4,7 @@
#pragma once
#include <azure/core/operation.hpp>
#include <azure/storage/common/paged_response.hpp>
#include <azure/core/paged_response.hpp>
#include "azure/storage/files/shares/protocol/share_rest_client.hpp"
#include "azure/storage/files/shares/share_constants.hpp"
@ -192,7 +192,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
friend class ShareFileClient;
};
class ListSharesPagedResponse : public PagedResponse<ListSharesPagedResponse> {
class ListSharesPagedResponse : public Azure::Core::PagedResponse<ListSharesPagedResponse> {
public:
std::string ServiceEndpoint;
std::string Prefix;
@ -209,7 +209,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
};
class ListFilesAndDirectoriesPagedResponse
: public PagedResponse<ListFilesAndDirectoriesPagedResponse> {
: public Azure::Core::PagedResponse<ListFilesAndDirectoriesPagedResponse> {
public:
std::string ServiceEndpoint;
std::string ShareName;
@ -229,7 +229,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
friend class PagedResponse<ListFilesAndDirectoriesPagedResponse>;
};
class ListFileHandlesPagedResponse : public PagedResponse<ListFileHandlesPagedResponse> {
class ListFileHandlesPagedResponse
: public Azure::Core::PagedResponse<ListFileHandlesPagedResponse> {
public:
std::vector<Models::HandleItem> FileHandles;
@ -244,7 +245,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
};
class ListDirectoryHandlesPagedResponse
: public PagedResponse<ListDirectoryHandlesPagedResponse> {
: public Azure::Core::PagedResponse<ListDirectoryHandlesPagedResponse> {
public:
std::vector<Models::HandleItem> DirectoryHandles;

View File

@ -313,7 +313,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
pagedResponse.m_shareDirectoryClient = std::make_shared<ShareDirectoryClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;
@ -339,7 +339,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
pagedResponse.m_shareDirectoryClient = std::make_shared<ShareDirectoryClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -600,7 +600,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
pagedResponse.m_shareFileClient = std::make_shared<ShareFileClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -104,7 +104,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
pagedResponse.m_shareServiceClient = std::make_shared<ShareServiceClient>(*this);
pagedResponse.m_operationOptions = options;
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
pagedResponse.NextPageToken = response.Value.ContinuationToken;
pagedResponse.RawResponse = std::move(response.RawResponse);
return pagedResponse;

View File

@ -442,7 +442,7 @@ namespace Azure { namespace Storage { namespace Test {
for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString(
StandardStorageConnectionString())
.ListShares(listOptions);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end());
@ -485,7 +485,7 @@ namespace Azure { namespace Storage { namespace Test {
for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString(
PremiumFileConnectionString())
.ListShares(listOptions);
pageResult.HasMorePages();
pageResult.HasPage();
pageResult.MoveToNextPage())
{
shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end());

View File

@ -57,8 +57,7 @@ namespace Azure { namespace Storage { namespace Test {
}
auto directoryClient
= m_shareClient->GetRootDirectoryClient().GetSubdirectoryClient(directoryPath);
for (auto pageResult = directoryClient.ListFilesAndDirectories(options);
pageResult.HasMorePages();
for (auto pageResult = directoryClient.ListFilesAndDirectories(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
directoryResult.insert(
@ -436,8 +435,8 @@ namespace Azure { namespace Storage { namespace Test {
{
auto result = m_fileShareDirectoryClient->ListHandles();
EXPECT_TRUE(result.DirectoryHandles.empty());
EXPECT_TRUE(result.NextPageToken.empty());
for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasMorePages();
EXPECT_FALSE(result.NextPageToken.HasValue());
for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasPage();
pageResult.MoveToNextPage())
{
}

View File

@ -262,9 +262,9 @@ namespace Azure { namespace Storage { namespace Test {
{
auto result = m_fileClient->ListHandles();
EXPECT_TRUE(result.FileHandles.empty());
EXPECT_TRUE(result.NextPageToken.empty());
EXPECT_FALSE(result.NextPageToken.HasValue());
for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasMorePages();
for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasPage();
pageResult.MoveToNextPage())
{
}

View File

@ -70,7 +70,7 @@ namespace Azure { namespace Storage { namespace Test {
{
options.Prefix = prefix;
}
for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasMorePages();
for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasPage();
pageResult.MoveToNextPage())
{
result.insert(result.end(), pageResult.Shares.begin(), pageResult.Shares.end());