55import urllib
66import uuid
77
8- import grpc
98import pytest
109import requests
1110from google .api_core import client_options , exceptions
12- from google .auth import credentials as auth_credentials
1311
1412from google .cloud import _storage_v2 as storage_v2
1513from google .cloud .storage .asyncio .async_grpc_client import AsyncGrpcClient
16- from google .cloud .storage .asyncio .async_multi_range_downloader import \
17- AsyncMultiRangeDownloader
14+ from google .cloud .storage .asyncio .async_multi_range_downloader import (
15+ AsyncMultiRangeDownloader ,
16+ )
17+ from google .cloud .storage .asyncio .async_appendable_object_writer import (
18+ AsyncAppendableObjectWriter ,
19+ )
1820from tests .conformance ._utils import start_grpc_server
1921
2022# --- Configuration ---
@@ -138,12 +140,11 @@ async def test_bidi_reads(testbench):
138140 start_grpc_server (
139141 grpc_endpoint , test_bench_endpoint
140142 ) # Ensure the testbench gRPC server is running before this test executes.
141- channel = grpc .aio .insecure_channel (GRPC_ENDPOINT )
142- creds = auth_credentials .AnonymousCredentials ()
143- transport = storage_v2 .services .storage .transports .StorageGrpcAsyncIOTransport (
144- channel = channel , credentials = creds
143+
144+ grpc_client = AsyncGrpcClient ._create_insecure_grpc_client (
145+ client_options = client_options .ClientOptions (api_endpoint = GRPC_ENDPOINT ),
145146 )
146- gapic_client = storage_v2 . StorageAsyncClient ( transport = transport )
147+ gapic_client = grpc_client . grpc_client
147148 http_client = requests .Session ()
148149
149150 bucket_name = f"grpc-test-bucket-{ uuid .uuid4 ().hex [:8 ]} "
@@ -166,22 +167,11 @@ async def test_bidi_reads(testbench):
166167 create_bucket_request = storage_v2 .CreateBucketRequest (
167168 parent = "projects/_" , bucket_id = bucket_name , bucket = bucket_resource
168169 )
169- await gapic_client .create_bucket (request = create_bucket_request )
170-
171- write_spec = storage_v2 .WriteObjectSpec (
172- resource = storage_v2 .Object (
173- bucket = f"projects/_/buckets/{ bucket_name } " , name = object_name
174- )
175- )
176-
177- async def write_req_gen ():
178- yield storage_v2 .WriteObjectRequest (
179- write_object_spec = write_spec ,
180- checksummed_data = {"content" : content },
181- finish_write = True ,
182- )
183-
184- await gapic_client .write_object (requests = write_req_gen ())
170+ _ = await gapic_client .create_bucket (request = create_bucket_request )
171+ w = AsyncAppendableObjectWriter (grpc_client , bucket_name , object_name )
172+ await w .open ()
173+ await w .append (content )
174+ _ = await w .close (finalize_on_close = True )
185175
186176 # Run all defined test scenarios.
187177 for scenario in test_scenarios :
0 commit comments