code: def test_is_aip_training_job_running_with_running_job(self):
      self.mock_request.execute.side_effect = [
          {"state": "QUEUED"},
          {"state": "PREPARING"},
          {"state": "RUNNING"},
          {"state": "CANCELLING"},
      ]
      queued_status = google_api_client.is_aip_training_job_running(
          self._job_id, self._project_id
      )
      self.assertTrue(queued_status)
      job_name = "projects/{}/jobs/{}".format(
          self._project_id, self._job_id
      )
      self.mock_apiclient.projects().jobs().get.assert_called_with(
          name=job_name
      )
      preparing_status = google_api_client.is_aip_training_job_running(
          self._job_id, self._project_id
      )
      self.assertTrue(preparing_status)
      running_status = google_api_client.is_aip_training_job_running(
          self._job_id, self._project_id
      )
      self.assertTrue(running_status)
      canceling_status = google_api_client.is_aip_training_job_running(
          self._job_id, self._project_id
      )
      self.assertTrue(canceling_status)
      self.assertEqual(4, self.mock_request.execute.call_count)
  
imports: import json
  import os
  from googleapiclient import discovery
  from googleapiclient import errors
  from googleapiclient import http
  import httplib2
  import mock
  import tensorflow
  from tensorflow_cloud import version
  from tensorflow_cloud.utils import google_api_client
label_desc: Use image node_id 8 for calling the GoogleApiClientTest obj's underlying member method code with example usage: obj.test_is_aip_training_job_running_with_running_job() without return types