diff --git a/storage/grpc_client.go b/storage/grpc_client.go index d8f70b77a465..f8abdc666dc7 100644 --- a/storage/grpc_client.go +++ b/storage/grpc_client.go @@ -408,17 +408,13 @@ func (c *grpcStorageClient) ListObjects(ctx context.Context, bucket string, q *Q LexicographicStart: it.query.StartOffset, LexicographicEnd: it.query.EndOffset, IncludeTrailingDelimiter: it.query.IncludeTrailingDelimiter, + MatchGlob: it.query.MatchGlob, ReadMask: q.toFieldMask(), // a nil Query still results in a "*" FieldMask } if s.userProject != "" { ctx = setUserProjectMetadata(ctx, s.userProject) } fetch := func(pageSize int, pageToken string) (token string, err error) { - // MatchGlob not yet supported for gRPC. - // TODO: add support when b/287306063 resolved. - if q != nil && q.MatchGlob != "" { - return "", status.Errorf(codes.Unimplemented, "MatchGlob is not supported for gRPC") - } var objects []*storagepb.Object var gitr *gapic.ObjectIterator err = run(it.ctx, func(ctx context.Context) error { diff --git a/storage/integration_test.go b/storage/integration_test.go index f038939479fe..41c01dac6a00 100644 --- a/storage/integration_test.go +++ b/storage/integration_test.go @@ -1294,8 +1294,7 @@ func TestIntegration_ObjectIteration(t *testing.T) { func TestIntegration_ObjectIterationMatchGlob(t *testing.T) { // This is a separate test from the Object Iteration test above because // MatchGlob is not yet implemented for gRPC. - ctx := skipGRPC("https://github.com/googleapis/google-cloud-go/issues/7727") - multiTransportTest(skipJSONReads(ctx, "no reads in test"), t, func(t *testing.T, ctx context.Context, _ string, prefix string, client *Client) { + multiTransportTest(skipJSONReads(context.Background(), "no reads in test"), t, func(t *testing.T, ctx context.Context, _ string, prefix string, client *Client) { // Reset testTime, 'cause object last modification time should be within 5 min // from test (test iteration if -count passed) start time. testTime = time.Now().UTC()