@@ -103,7 +103,11 @@ def setUp(self):
103103 def tearDown (self ):
104104 retry = RetryErrors (NotFound , max_tries = 9 )
105105 for doomed in self .to_delete :
106- retry (doomed .delete )()
106+ try :
107+ retry (doomed .delete )()
108+ except AttributeError :
109+ client , dataset = doomed
110+ retry (client .delete_dataset )(dataset )
107111 logging .getLogger ().handlers = self ._handlers_cache [:]
108112
109113 @staticmethod
@@ -427,25 +431,24 @@ def test_create_sink_pubsub_topic(self):
427431
428432 def _init_bigquery_dataset (self ):
429433 from google .cloud import bigquery
430- from google .cloud .bigquery .dataset import AccessGrant
431- DATASET_NAME = (
434+ from google .cloud .bigquery .dataset import AccessEntry
435+ dataset_name = (
432436 'system_testing_dataset' + _RESOURCE_ID ).replace ('-' , '_' )
433- DATASET_URI = 'bigquery.googleapis.com/projects/%s/datasets/%s' % (
434- Config .CLIENT .project , DATASET_NAME ,)
437+ dataset_uri = 'bigquery.googleapis.com/projects/%s/datasets/%s' % (
438+ Config .CLIENT .project , dataset_name ,)
435439
436440 # Create the destination dataset, and set up the ACL to allow
437441 # Stackdriver Logging to write into it.
438442 bigquery_client = bigquery .Client ()
439- dataset = bigquery_client .dataset (DATASET_NAME )
440- dataset .create ()
441- self .to_delete .append (dataset )
442- dataset .reload ()
443- grants = dataset .access_grants
444- grants .append (AccessGrant (
445- 'WRITER' ,
'groupByEmail' ,
'[email protected] ' ))
446- dataset .access_grants = grants
447- dataset .update ()
448- return DATASET_URI
443+ dataset_ref = bigquery_client .dataset (dataset_name )
444+ dataset = bigquery_client .create_dataset (bigquery .Dataset (dataset_ref ))
445+ self .to_delete .append ((bigquery_client , dataset ))
446+ bigquery_client .get_dataset (dataset )
447+ access = AccessEntry (
448+ 'WRITER' ,
'groupByEmail' ,
'[email protected] ' )
449+ dataset .access_entries .append (access )
450+ bigquery_client .update_dataset (dataset , ['access_entries' ])
451+ return dataset_uri
449452
450453 def test_create_sink_bigquery_dataset (self ):
451454 SINK_NAME = 'test-create-sink-dataset%s' % (_RESOURCE_ID ,)
0 commit comments