def testBigqueryPagedResults(self, _): mock_client = mock.Mock() mock_client.jobs().query().execute.return_value = { "totalRows": 2, "jobComplete": True, "schema": { "fields": 'mock_fields' }, "rows": ["rows"], "pageToken": "dummy page token", "jobReference": { "jobId": "dummy job id" }, } mock_client.jobs().getQueryResults().execute.return_value = { "schema": { "fields": 'mock_fields' }, "rows": ["rows2"], } success, rows = bigquery_helper.QueryRequest(mock_client, 'project', 'query') self.assertTrue(mock_client.jobs().query().execute.called) self.assertTrue(mock_client.jobs().getQueryResults().execute.called) self.assertTrue(success) self.assertEqual(len(rows), 2)
def testBigqueryQueryRequestWithMissingFields(self): mock_client = mock.Mock() mock_client.jobs().query().execute.return_value = {} success, rows = bigquery_helper.QueryRequest(mock_client, 'project', 'query') self.assertTrue(mock_client.jobs().query().execute.called) self.assertFalse(success) self.assertEqual(rows, [])
def testBigqueryQueryRequestNoRows(self): mock_client = mock.Mock() mock_client.jobs().query().execute.return_value = { 'jobComplete': True, 'totalRows': '0' } success, rows = bigquery_helper.QueryRequest(mock_client, 'project', 'query') self.assertTrue(mock_client.jobs().query().execute.called) self.assertTrue(success) self.assertEqual(rows, [])
def testBigqueryQueryRequest(self, _): mock_client = mock.Mock() mock_client.jobs().query().execute.return_value = { "totalRows": 1, "jobComplete": True, "schema": { "fields": 'mock_fields' }, "rows": ["rows"] } success, rows = bigquery_helper.QueryRequest(mock_client, 'project', 'query') self.assertTrue(mock_client.jobs().query().execute.called) self.assertTrue(success) self.assertEqual(len(rows), 1)