Пример #1
0
  def testClientReturnsErrors(self):

    mock_client = mock.Mock(spec=tables.bigquery.Client)
    mock_client.insert_rows.return_value = [{'err1': 'xxx'}, {'err2': 'yyy'}]
    self.Patch(tables.bigquery, 'Client', return_value=mock_client)

    with self.assertRaises(tables.StreamingFailureError):
      tables._SendToBigQuery(TEST_TABLE, self.row_dict)
Пример #2
0
  def testSuccess(self):

    mock_client = mock.Mock(spec=tables.bigquery.Client)
    mock_client.insert_rows.return_value = []
    self.Patch(tables.bigquery, 'Client', return_value=mock_client)

    tables._SendToBigQuery(TEST_TABLE, self.row_dict)
    self.assertTrue(mock_client.insert_rows.called)
Пример #3
0
  def testMissingTable_Created(self):

    mock_client = mock.Mock(spec=tables.bigquery.Client)
    mock_client.insert_rows.side_effect = [exceptions.NotFound('OMG'), []]
    mock_client.get_table.side_effect = exceptions.NotFound('OMG')
    self.Patch(tables.bigquery, 'Client', return_value=mock_client)

    tables._SendToBigQuery(TEST_TABLE, self.row_dict)

    insert_rows_call = mock.call(
        mock.ANY, [self.row_dict], selected_fields=TEST_TABLE.schema,
        row_ids=[self.row_id])

    mock_client.insert_rows.assert_has_calls([insert_rows_call] * 2)
    mock_client.get_dataset.assert_called_once()
    mock_client.create_dataset.assert_not_called()
    mock_client.get_table.assert_called_once()
    mock_client.create_table.assert_called_once()