Skip to content

Commit 13e34bb

Browse files
authored
feat(GCS+gRPC): support listing folders as prefixes (#13754)
1 parent 801cd33 commit 13e34bb

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

google/cloud/storage/internal/grpc/object_request_parser.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -582,9 +582,10 @@ google::storage::v2::ListObjectsRequest ToProto(
582582
result.set_lexicographic_end(
583583
request.GetOption<storage::EndOffset>().value_or(""));
584584
result.set_match_glob(request.GetOption<storage::MatchGlob>().value_or(""));
585-
if (request.GetOption<storage::SoftDeleted>().value_or(false)) {
586-
result.set_soft_deleted(true);
587-
}
585+
result.set_soft_deleted(
586+
request.GetOption<storage::SoftDeleted>().value_or(false));
587+
result.set_include_folders_as_prefixes(
588+
request.GetOption<storage::IncludeFoldersAsPrefixes>().value_or(false));
588589
return result;
589590
}
590591

google/cloud/storage/internal/grpc/object_request_parser_test.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@ TEST(GrpcObjectRequestParser, ListObjectsRequestAllFields) {
914914
lexicographic_end: "test/prefix/abc"
915915
match_glob: "**/*.cc"
916916
soft_deleted: true
917+
include_folders_as_prefixes: true
917918
)pb",
918919
&expected));
919920

@@ -924,7 +925,8 @@ TEST(GrpcObjectRequestParser, ListObjectsRequestAllFields) {
924925
storage::IncludeTrailingDelimiter(true), storage::Prefix("test/prefix"),
925926
storage::Versions(true), storage::StartOffset("test/prefix/a"),
926927
storage::EndOffset("test/prefix/abc"), storage::MatchGlob("**/*.cc"),
927-
storage::SoftDeleted(true), storage::UserProject("test-user-project"),
928+
storage::SoftDeleted(true), storage::IncludeFoldersAsPrefixes(true),
929+
storage::UserProject("test-user-project"),
928930
storage::QuotaUser("test-quota-user"), storage::UserIp("test-user-ip"));
929931

930932
auto const actual = ToProto(req);

google/cloud/storage/tests/object_integration_test.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,6 @@ TEST_F(ObjectIntegrationTest, ListObjectsAndPrefixes) {
177177
}
178178

179179
TEST_F(ObjectIntegrationTest, ListObjectsAndPrefixesWithFolders) {
180-
if (UsingEmulator()) GTEST_SKIP();
181-
182180
StatusOr<Client> client = MakeIntegrationTestClient();
183181
ASSERT_STATUS_OK(client);
184182

0 commit comments

Comments
 (0)