code: def test_submit_job(self, mock_discovery_build):
      mock_discovery_build.return_value = self._mock_apiclient
      self._set_up_training_mocks()
  
      client._submit_job(self._job_spec, self._project_id)
      mock_discovery_build.assert_called_once_with(
          "ml",
          "v1",
          cache_discovery=False,
          requestBuilder=google_api_client.TFCloudHttpRequest,
      )
  
      self._mock_create.assert_called_with(
          body=mock.ANY, parent="projects/{}".format(self._project_id)
      )
  
      _, fit_kwargs = list(self._mock_create.call_args)
      body = fit_kwargs["body"]
      self.assertDictContainsSubset(
          {
              "masterConfig": {
                  "imageUri": self._image_uri,
              },
              "args": [
                  "--remote_dir",
                  self._remote_dir,
                  "--distribution_strategy",
                  MULTI_WORKER_MIRRORED_STRATEGY_NAME,
              ],
          },
          body["trainingInput"],
      )
      self.assertStartsWith(body["job_id"], "cloud_fit_")
      self._mock_get.execute.assert_called_with()
  
imports: import os
  import pickle
  import tempfile
  from unittest import mock
  from googleapiclient import discovery
  import tensorflow
  import tensorflow_datasets
  from tensorflow_cloud.tuner import cloud_fit_client
  from tensorflow_cloud.tuner import cloud_fit_utils
  from tensorflow_cloud.utils import google_api_client
label_desc: Use image node_id 5 for calling the CloudFitClientTest obj's underlying member method code with example usage: obj.test_submit_job(mock_discovery_build) without return types