Skip to content

Commit cefe717

Browse files
committed
Add explict tests for Query's scalar properties.
1 parent 9619004 commit cefe717

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

bigquery/unit_tests/test_query.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,104 @@ def test_job_w_jobid(self):
251251
fetched_later = query.job
252252
self.assertIs(fetched_later, job)
253253

254+
def test_cache_hit_missing(self):
255+
client = _Client(self.PROJECT)
256+
query = self._make_one(self.QUERY, client)
257+
self.assertIsNone(query.cache_hit)
258+
259+
def test_cache_hit_present(self):
260+
client = _Client(self.PROJECT)
261+
query = self._make_one(self.QUERY, client)
262+
resource = {'cacheHit': True}
263+
query._set_properties(resource)
264+
self.assertTrue(query.cache_hit)
265+
266+
def test_complete_missing(self):
267+
client = _Client(self.PROJECT)
268+
query = self._make_one(self.QUERY, client)
269+
self.assertIsNone(query.complete)
270+
271+
def test_complete_present(self):
272+
client = _Client(self.PROJECT)
273+
query = self._make_one(self.QUERY, client)
274+
resource = {'jobComplete': True}
275+
query._set_properties(resource)
276+
self.assertTrue(query.complete)
277+
278+
def test_errors_missing(self):
279+
client = _Client(self.PROJECT)
280+
query = self._make_one(self.QUERY, client)
281+
self.assertIsNone(query.errors)
282+
283+
def test_errors_present(self):
284+
ERRORS = [
285+
{'reason': 'testing'},
286+
]
287+
client = _Client(self.PROJECT)
288+
query = self._make_one(self.QUERY, client)
289+
resource = {'errors': ERRORS}
290+
query._set_properties(resource)
291+
self.assertEqual(query.errors, ERRORS)
292+
293+
def test_name_missing(self):
294+
client = _Client(self.PROJECT)
295+
query = self._make_one(self.QUERY, client)
296+
self.assertIsNone(query.name)
297+
298+
def test_name_broken_job_reference(self):
299+
client = _Client(self.PROJECT)
300+
query = self._make_one(self.QUERY, client)
301+
resource = {'jobReference': {'bogus': 'BOGUS'}}
302+
query._set_properties(resource)
303+
self.assertIsNone(query.name)
304+
305+
def test_name_present(self):
306+
JOB_ID = 'JOB_ID'
307+
client = _Client(self.PROJECT)
308+
query = self._make_one(self.QUERY, client)
309+
resource = {'jobReference': {'jobId': JOB_ID}}
310+
query._set_properties(resource)
311+
self.assertEqual(query.name, JOB_ID)
312+
313+
def test_page_token_missing(self):
314+
client = _Client(self.PROJECT)
315+
query = self._make_one(self.QUERY, client)
316+
self.assertIsNone(query.page_token)
317+
318+
def test_page_token_present(self):
319+
TOKEN = 'TOKEN'
320+
client = _Client(self.PROJECT)
321+
query = self._make_one(self.QUERY, client)
322+
resource = {'pageToken': TOKEN}
323+
query._set_properties(resource)
324+
self.assertEqual(query.page_token, TOKEN)
325+
326+
def test_total_rows_missing(self):
327+
client = _Client(self.PROJECT)
328+
query = self._make_one(self.QUERY, client)
329+
self.assertIsNone(query.total_rows)
330+
331+
def test_total_rows_present_integer(self):
332+
TOTAL_ROWS = 42
333+
client = _Client(self.PROJECT)
334+
query = self._make_one(self.QUERY, client)
335+
resource = {'totalRows': TOTAL_ROWS}
336+
query._set_properties(resource)
337+
self.assertEqual(query.total_rows, TOTAL_ROWS)
338+
339+
def test_total_bytes_processed_missing(self):
340+
client = _Client(self.PROJECT)
341+
query = self._make_one(self.QUERY, client)
342+
self.assertIsNone(query.total_bytes_processed)
343+
344+
def test_total_bytes_processed_present_integer(self):
345+
TOTAL_BYTES_PROCESSED = 123456
346+
client = _Client(self.PROJECT)
347+
query = self._make_one(self.QUERY, client)
348+
resource = {'totalBytesProcessed': TOTAL_BYTES_PROCESSED}
349+
query._set_properties(resource)
350+
self.assertEqual(query.total_bytes_processed, TOTAL_BYTES_PROCESSED)
351+
254352
def test_schema(self):
255353
client = _Client(self.PROJECT)
256354
query = self._make_one(self.QUERY, client)

0 commit comments

Comments
 (0)