code: def test_git_support_succeed(
      tar_and_upload_dir, git_clone_repo, sagemaker_session
  ):
      git_clone_repo.side_effect = (
          lambda gitconfig, entrypoint, sourcedir, dependency: {
              "entry_point": "entry_point",
              "source_dir": "/tmp/repo_dir/source_dir",
              "dependencies": [
                  "/tmp/repo_dir/foo",
                  "/tmp/repo_dir/bar",
              ],
          }
      )
      entry_point = "entry_point"
      source_dir = "source_dir"
      dependencies = ["foo", "bar"]
      git_config = {
          "repo": GIT_REPO,
          "branch": BRANCH,
          "commit": COMMIT,
      }
      model = DummyFrameworkModelForGit(
          sagemaker_session=sagemaker_session,
          entry_point=entry_point,
          source_dir=source_dir,
          dependencies=dependencies,
          git_config=git_config,
      )
      model.prepare_container_def(instance_type=INSTANCE_TYPE)
      git_clone_repo.assert_called_with(
          git_config, entry_point, source_dir, dependencies
      )
      assert model.entry_point == "entry_point"
      assert model.source_dir == "/tmp/repo_dir/source_dir"
      assert model.dependencies == [
          "/tmp/repo_dir/foo",
          "/tmp/repo_dir/bar",
      ]
  
imports: from __future__ import absolute_import
  import os
  import subprocess
  from sagemaker.model import FrameworkModel
  from sagemaker.predictor import Predictor
  import pytest
  from mock import MagicMock, Mock, patch
  from sagemaker.session_settings import SessionSettings
label_desc: Use image node_id 5 for calling a global function with example usage: test_git_support_succeed(tar_and_upload_dir, git_clone_repo, sagemaker_session) without return types