code: def testBuild(
      self, mock_docker_client, mock_docker_low_client, mock_dockerfile
  ):
      mock_build_fn = mock_docker_low_client.return_value.build
      mock_build_fn.return_value = [{"stream": "foo"}, {"baz": ""}]
      mock_push_fn = mock_docker_client.return_value.images.push
      mock_build_fn.return_value = [{"status": "bar"}]
      mock_get_registry_data_fn = (
          mock_docker_client.return_value.images.get_registry_data
      )
      mock_get_registry_data_fn.return_value = mock.MagicMock()
      mock_get_registry_data_fn.return_value.id = "sha256:01234"
  
      target_image = "gcr.io/test/myimage:mytag"
      built_image = builder.build(
          target_image, "some:base", "Dockerfile.test", "setup.py"
      )
      mock_dockerfile.assert_called_once_with(
          "Dockerfile.test", "setup.py", "some:base"
      )
      mock_build_fn.assert_called_once()
      mock_push_fn.assert_called_once()
      mock_get_registry_data_fn.assert_called_once_with(target_image)
      self.assertEqual(built_image, "gcr.io/test/myimage@sha256:01234")
  
file_path: tfx/tfx/tools/cli/container_builder/builder_test.py
imports: from unittest import mock
  import docker
  import tensorflow
  from tfx.tools.cli.container_builder import builder
  from tfx.tools.cli.container_builder import dockerfile
label_desc: Use image node_id 2 for calling the BuilderTest obj's underlying member method code with example usage: obj.testBuild(mock_docker_client, mock_docker_low_client, mock_dockerfile) without return types