@@ -1833,6 +1833,60 @@ def test_statement_type(self):
18331833 query_stats ['statementType' ] = statement_type
18341834 self .assertEqual (job .statement_type , statement_type )
18351835
1836+ def test_referenced_tables (self ):
1837+ from google .cloud .bigquery .dataset import Dataset
1838+ from google .cloud .bigquery .table import Table
1839+
1840+ ref_tables_resource = [{
1841+ 'projectId' : self .PROJECT ,
1842+ 'datasetId' : 'dataset' ,
1843+ 'tableId' : 'local1' ,
1844+ }, {
1845+
1846+ 'projectId' : self .PROJECT ,
1847+ 'datasetId' : 'dataset' ,
1848+ 'tableId' : 'local2' ,
1849+ }, {
1850+
1851+ 'projectId' : 'other-project-123' ,
1852+ 'datasetId' : 'other-dataset' ,
1853+ 'tableId' : 'other-table' ,
1854+ }]
1855+ client = _Client (self .PROJECT )
1856+ job = self ._make_one (self .JOB_NAME , self .QUERY , client )
1857+ self .assertEqual (job .referenced_tables , [])
1858+
1859+ statistics = job ._properties ['statistics' ] = {}
1860+ self .assertEqual (job .referenced_tables , [])
1861+
1862+ query_stats = statistics ['query' ] = {}
1863+ self .assertEqual (job .referenced_tables , [])
1864+
1865+ query_stats ['referencedTables' ] = ref_tables_resource
1866+
1867+ local1 , local2 , remote = job .referenced_tables
1868+
1869+ self .assertIsInstance (local1 , Table )
1870+ self .assertEqual (local1 .name , 'local1' )
1871+ self .assertIsInstance (local1 ._dataset , Dataset )
1872+ self .assertEqual (local1 .dataset_name , 'dataset' )
1873+ self .assertEqual (local1 .project , self .PROJECT )
1874+ self .assertIs (local1 ._dataset ._client , client )
1875+
1876+ self .assertIsInstance (local2 , Table )
1877+ self .assertEqual (local2 .name , 'local2' )
1878+ self .assertIsInstance (local2 ._dataset , Dataset )
1879+ self .assertEqual (local2 .dataset_name , 'dataset' )
1880+ self .assertEqual (local2 .project , self .PROJECT )
1881+ self .assertIs (local2 ._dataset ._client , client )
1882+
1883+ self .assertIsInstance (remote , Table )
1884+ self .assertEqual (remote .name , 'other-table' )
1885+ self .assertIsInstance (remote ._dataset , Dataset )
1886+ self .assertEqual (remote .dataset_name , 'other-dataset' )
1887+ self .assertEqual (remote .project , 'other-project-123' )
1888+ self .assertIs (remote ._dataset ._client , client )
1889+
18361890 def test_query_results (self ):
18371891 from google .cloud .bigquery .query import QueryResults
18381892
@@ -2490,10 +2544,10 @@ def __init__(self, project='project', connection=None):
24902544 self .project = project
24912545 self ._connection = connection
24922546
2493- def dataset (self , name ):
2547+ def dataset (self , name , project = None ):
24942548 from google .cloud .bigquery .dataset import Dataset
24952549
2496- return Dataset (name , client = self )
2550+ return Dataset (name , client = self , project = project )
24972551
24982552 def _get_query_results (self , job_id ):
24992553 from google .cloud .bigquery .query import QueryResults
0 commit comments