@@ -70,6 +70,7 @@ def _makeResource(self, complete=False):
7070 ]
7171 resource ['pageToken' ] = self .TOKEN
7272 resource ['totalBytesProcessed' ] = 100000
73+ resource ['numDmlAffectedRows' ] = 123
7374 resource ['cacheHit' ] = False
7475
7576 return resource
@@ -124,10 +125,12 @@ def _verifyResourceProperties(self, query, resource):
124125 self .assertEqual (query .complete , resource .get ('jobComplete' ))
125126 self .assertEqual (query .errors , resource .get ('errors' ))
126127 self .assertEqual (query .page_token , resource .get ('pageToken' ))
128+
127129 if 'totalRows' in resource :
128130 self .assertEqual (query .total_rows , int (resource ['totalRows' ]))
129131 else :
130132 self .assertIsNone (query .total_rows )
133+
131134 if 'totalBytesProcessed' in resource :
132135 self .assertEqual (query .total_bytes_processed ,
133136 int (resource ['totalBytesProcessed' ]))
@@ -139,6 +142,12 @@ def _verifyResourceProperties(self, query, resource):
139142 else :
140143 self .assertIsNone (query .name )
141144
145+ if 'numDmlAffectedRows' in resource :
146+ self .assertEqual (query .num_dml_affected_rows ,
147+ int (resource ['numDmlAffectedRows' ]))
148+ else :
149+ self .assertIsNone (query .num_dml_affected_rows )
150+
142151 self ._verify_udf_resources (query , resource )
143152 self ._verifyQueryParameters (query , resource )
144153 self ._verifySchema (query , resource )
@@ -371,6 +380,27 @@ def test_total_bytes_processed_present_string(self):
371380 query ._set_properties (resource )
372381 self .assertEqual (query .total_bytes_processed , TOTAL_BYTES_PROCESSED )
373382
383+ def test_num_dml_affected_rows_missing (self ):
384+ client = _Client (self .PROJECT )
385+ query = self ._make_one (self .QUERY , client )
386+ self .assertIsNone (query .num_dml_affected_rows )
387+
388+ def test_num_dml_affected_rows_present_integer (self ):
389+ DML_AFFECTED_ROWS = 123456
390+ client = _Client (self .PROJECT )
391+ query = self ._make_one (self .QUERY , client )
392+ resource = {'numDmlAffectedRows' : DML_AFFECTED_ROWS }
393+ query ._set_properties (resource )
394+ self .assertEqual (query .num_dml_affected_rows , DML_AFFECTED_ROWS )
395+
396+ def test_num_dml_affected_rows_present_string (self ):
397+ DML_AFFECTED_ROWS = 123456
398+ client = _Client (self .PROJECT )
399+ query = self ._make_one (self .QUERY , client )
400+ resource = {'numDmlAffectedRows' : str (DML_AFFECTED_ROWS )}
401+ query ._set_properties (resource )
402+ self .assertEqual (query .num_dml_affected_rows , DML_AFFECTED_ROWS )
403+
374404 def test_schema (self ):
375405 client = _Client (self .PROJECT )
376406 query = self ._make_one (self .QUERY , client )
0 commit comments