1919
2020from google .cloud .bigtable .data ._metrics .data_model import OperationState as State
2121from google .cloud .bigtable .data ._metrics .data_model import TimeTuple
22+ from google .cloud .bigtable_v2 .types import ResponseParams
2223
2324
2425class TestActiveOperationMetric :
@@ -247,27 +248,47 @@ def mock_generator():
247248 assert metric .active_attempt .backoff_before_attempt == i
248249
249250 @pytest .mark .parametrize (
250- "start_cluster,start_zone,metadata_field ,end_cluster,end_zone" ,
251+ "start_cluster,start_zone,metadata_proto ,end_cluster,end_zone" ,
251252 [
252253 (None , None , None , None , None ),
253254 ("orig_cluster" , "orig_zone" , None , "orig_cluster" , "orig_zone" ),
254- (None , None , b"zone cluster" , "cluster" , "zone" ),
255+ (None , None , ResponseParams (), None , None ),
256+ (
257+ "orig_cluster" ,
258+ "orig_zone" ,
259+ ResponseParams (),
260+ "orig_cluster" ,
261+ "orig_zone" ,
262+ ),
255263 (
256264 None ,
257265 None ,
258- b"\n \r test-cluster\x12 \x0c us-central1-b" ,
259- "us-central1-b" ,
266+ ResponseParams (cluster_id = "test-cluster" , zone_id = "us-central1-b" ),
260267 "test-cluster" ,
268+ "us-central1-b" ,
269+ ),
270+ (
271+ None ,
272+ "filled" ,
273+ ResponseParams (cluster_id = "cluster" , zone_id = "zone" ),
274+ "cluster" ,
275+ "zone" ,
276+ ),
277+ (None , "filled" , ResponseParams (cluster_id = "cluster" ), "cluster" , "filled" ),
278+ (None , "filled" , ResponseParams (zone_id = "zone" ), None , "zone" ),
279+ (
280+ "filled" ,
281+ None ,
282+ ResponseParams (cluster_id = "cluster" , zone_id = "zone" ),
283+ "cluster" ,
284+ "zone" ,
261285 ),
262- ("orig_cluster" , "orig_zone" , b"new_new" , "orig_cluster" , "orig_zone" ),
263- (None , None , b"" , None , None ),
264- (None , None , b"zone cluster future" , "cluster" , "zone" ),
265- (None , "filled" , b"zone cluster" , "cluster" , "zone" ),
266- ("filled" , None , b"zone cluster" , "cluster" , "zone" ),
286+ ("filled" , None , ResponseParams (cluster_id = "cluster" ), "cluster" , None ),
287+ ("filled" , None , ResponseParams (zone_id = "zone" ), "filled" , "zone" ),
267288 ],
268289 )
269290 def test_add_response_metadata_cbt_header (
270- self , start_cluster , start_zone , metadata_field , end_cluster , end_zone
291+ self , start_cluster , start_zone , metadata_proto , end_cluster , end_zone
271292 ):
272293 """
273294 calling add_response_metadata should update fields based on grpc response metadata
@@ -283,8 +304,10 @@ def test_add_response_metadata_cbt_header(
283304 metric .active_attempt = mock .Mock ()
284305 metric .active_attempt .gfe_latency = None
285306 metadata = grpc .aio .Metadata ()
286- if metadata_field :
287- metadata ["x-goog-ext-425905942-bin" ] = metadata_field
307+ if metadata_proto is not None :
308+ metadata ["x-goog-ext-425905942-bin" ] = ResponseParams .serialize (
309+ metadata_proto
310+ )
288311 metric .add_response_metadata (metadata )
289312 assert metric .cluster_id == end_cluster
290313 assert metric .zone == end_zone
0 commit comments