code: def test_fetch_project_validations(local_git_repo_uri):
      # Verify that runs fail if given incorrect subdirectories via the `#` character.
      for base_uri in [TEST_PROJECT_DIR, local_git_repo_uri]:
          with pytest.raises(
              ExecutionException,
              match="Could not find subdirectory fake",
          ):
              _fetch_project(uri=_build_uri(base_uri, "fake"))
  
      # Passing `version` raises an exception for local projects
      with pytest.raises(
          ExecutionException,
          match="Setting a version is only supported",
      ):
          _fetch_project(uri=TEST_PROJECT_DIR, version="version")
  
imports: import os
  import tempfile
  import zipfile
  from unittest import mock
  import git
  import pytest
  import mlflow
  from mlflow.exceptions import ExecutionException
  from mlflow.projects import _project_spec
  from mlflow.projects.utils import _fetch_git_repo, _fetch_project, _get_storage_dir, _is_valid_branch_name, _is_zip_uri, _parse_subdirectory, fetch_and_validate_project, get_or_create_run, load_project
  from mlflow.utils.mlflow_tags import MLFLOW_PROJECT_ENTRY_POINT, MLFLOW_SOURCE_NAME
  from tests.projects.utils import GIT_PROJECT_BRANCH, GIT_PROJECT_URI, TEST_PROJECT_DIR, TEST_PROJECT_NAME, assert_dirs_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_fetch_project_validations(local_git_repo_uri) without return types