@@ -330,7 +330,10 @@ def test_create_metric(self):
330330 metric = Config .CLIENT .metric (
331331 METRIC_NAME , DEFAULT_FILTER , DEFAULT_DESCRIPTION )
332332 self .assertFalse (metric .exists ())
333- metric .create ()
333+ retry = RetryErrors (Conflict )
334+
335+ retry (metric .create )()
336+
334337 self .to_delete .append (metric )
335338 self .assertTrue (metric .exists ())
336339
@@ -341,11 +344,14 @@ def test_list_metrics(self):
341344 self .assertFalse (metric .exists ())
342345 before_metrics = list (Config .CLIENT .list_metrics ())
343346 before_names = set (before .name for before in before_metrics )
344- self .failIf (metric .name in before_names )
345- metric .create ()
347+ self .assertFalse (metric .name in before_names )
348+ retry = RetryErrors (Conflict )
349+ retry (metric .create )()
346350 self .to_delete .append (metric )
347351 self .assertTrue (metric .exists ())
352+
348353 after_metrics = list (Config .CLIENT .list_metrics ())
354+
349355 after_names = set (after .name for after in after_metrics )
350356 self .assertTrue (metric .name in after_names )
351357
@@ -359,7 +365,9 @@ def test_reload_metric(self):
359365 self .to_delete .append (metric )
360366 metric .filter_ = 'logName:other'
361367 metric .description = 'local changes'
368+
362369 metric .reload ()
370+
363371 self .assertEqual (metric .filter_ , DEFAULT_FILTER )
364372 self .assertEqual (metric .description , DEFAULT_DESCRIPTION )
365373
@@ -375,7 +383,9 @@ def test_update_metric(self):
375383 self .to_delete .append (metric )
376384 metric .filter_ = NEW_FILTER
377385 metric .description = NEW_DESCRIPTION
386+
378387 metric .update ()
388+
379389 after_metrics = list (Config .CLIENT .list_metrics ())
380390 after_info = {metric .name : metric for metric in after_metrics }
381391 after = after_info [METRIC_NAME ]
@@ -406,9 +416,12 @@ def test_create_sink_storage_bucket(self):
406416 uri = self ._init_storage_bucket ()
407417 SINK_NAME = 'test-create-sink-bucket%s' % (_RESOURCE_ID ,)
408418
419+ retry = RetryErrors ((Conflict , ServiceUnavailable ), max_tries = 10 )
409420 sink = Config .CLIENT .sink (SINK_NAME , DEFAULT_FILTER , uri )
410421 self .assertFalse (sink .exists ())
411- sink .create ()
422+
423+ retry (sink .create )()
424+
412425 self .to_delete .append (sink )
413426 self .assertTrue (sink .exists ())
414427
@@ -434,9 +447,12 @@ def test_create_sink_pubsub_topic(self):
434447
435448 TOPIC_URI = 'pubsub.googleapis.com/%s' % (topic_path ,)
436449
450+ retry = RetryErrors ((Conflict , ServiceUnavailable ), max_tries = 10 )
437451 sink = Config .CLIENT .sink (SINK_NAME , DEFAULT_FILTER , TOPIC_URI )
438452 self .assertFalse (sink .exists ())
439- sink .create ()
453+
454+ retry (sink .create )()
455+
440456 self .to_delete .append (sink )
441457 self .assertTrue (sink .exists ())
442458
@@ -465,45 +481,53 @@ def _init_bigquery_dataset(self):
465481
466482 def test_create_sink_bigquery_dataset (self ):
467483 SINK_NAME = 'test-create-sink-dataset%s' % (_RESOURCE_ID ,)
484+ retry = RetryErrors ((Conflict , ServiceUnavailable ), max_tries = 10 )
468485 uri = self ._init_bigquery_dataset ()
469486 sink = Config .CLIENT .sink (SINK_NAME , DEFAULT_FILTER , uri )
470487 self .assertFalse (sink .exists ())
471- sink .create ()
488+
489+ retry (sink .create )()
490+
472491 self .to_delete .append (sink )
473492 self .assertTrue (sink .exists ())
474493
475494 def test_list_sinks (self ):
476495 SINK_NAME = 'test-list-sinks%s' % (_RESOURCE_ID ,)
477496 uri = self ._init_storage_bucket ()
497+ retry = RetryErrors ((Conflict , ServiceUnavailable ), max_tries = 10 )
478498 sink = Config .CLIENT .sink (SINK_NAME , DEFAULT_FILTER , uri )
479499 self .assertFalse (sink .exists ())
480500 before_sinks = list (Config .CLIENT .list_sinks ())
481501 before_names = set (before .name for before in before_sinks )
482- self .failIf (sink .name in before_names )
483- sink .create ()
502+ self .assertFalse (sink .name in before_names )
503+ retry ( sink .create ) ()
484504 self .to_delete .append (sink )
485505 self .assertTrue (sink .exists ())
506+
486507 after_sinks = list (Config .CLIENT .list_sinks ())
508+
487509 after_names = set (after .name for after in after_sinks )
488510 self .assertTrue (sink .name in after_names )
489511
490512 def test_reload_sink (self ):
491513 SINK_NAME = 'test-reload-sink%s' % (_RESOURCE_ID ,)
492- retry = RetryErrors (Conflict )
514+ retry = RetryErrors (( Conflict , ServiceUnavailable ), max_tries = 10 )
493515 uri = self ._init_bigquery_dataset ()
494516 sink = Config .CLIENT .sink (SINK_NAME , DEFAULT_FILTER , uri )
495517 self .assertFalse (sink .exists ())
496518 retry (sink .create )()
497519 self .to_delete .append (sink )
498520 sink .filter_ = 'BOGUS FILTER'
499521 sink .destination = 'BOGUS DESTINATION'
522+
500523 sink .reload ()
524+
501525 self .assertEqual (sink .filter_ , DEFAULT_FILTER )
502526 self .assertEqual (sink .destination , uri )
503527
504528 def test_update_sink (self ):
505529 SINK_NAME = 'test-update-sink%s' % (_RESOURCE_ID ,)
506- retry = RetryErrors (Conflict , max_tries = 10 )
530+ retry = RetryErrors (( Conflict , ServiceUnavailable ) , max_tries = 10 )
507531 bucket_uri = self ._init_storage_bucket ()
508532 dataset_uri = self ._init_bigquery_dataset ()
509533 UPDATED_FILTER = 'logName:syslog'
@@ -513,7 +537,9 @@ def test_update_sink(self):
513537 self .to_delete .append (sink )
514538 sink .filter_ = UPDATED_FILTER
515539 sink .destination = dataset_uri
540+
516541 sink .update ()
542+
517543 self .assertEqual (sink .filter_ , UPDATED_FILTER )
518544 self .assertEqual (sink .destination , dataset_uri )
519545
0 commit comments