code: def test_download_artifacts_with_uri(run_with_artifact):
      run, artifact_path, artifact_content = run_with_artifact
      run_uri = f"runs:/{run.info.run_id}/{artifact_path}"
      actual_uri = str(
          pathlib.PurePosixPath(run.info.artifact_uri) / artifact_path
      )
      for uri in (run_uri, actual_uri):
          downloaded_content = _run_download_artifact_command(
              ["-u", uri]
          ).read_text()
          assert downloaded_content == artifact_content
  
      # Check for backwards compatibility with preexisting behavior in MLflow <= 1.24.0 where
      # specifying `artifact_uri` and `artifact_path` together did not throw an exception (unlike
      # `mlflow.artifacts.download_artifacts()`) and instead used `artifact_uri` while ignoring
      # `run_id` and `artifact_path`
      downloaded_content = _run_download_artifact_command(
          ["-u", uri, "--run-id", "bad", "--artifact-path", "bad"]
      ).read_text()
      assert downloaded_content == artifact_content
  
file_path: mlflow/tests/store/artifact/test_cli.py
imports: import json
  import pathlib
  from unittest import mock
  import pytest
  from click.testing import CliRunner
  import mlflow
  import mlflow.pyfunc
  from mlflow.entities import FileInfo
  from mlflow.store.artifact.cli import _file_infos_to_json, download_artifacts
  from mlflow.tracking.artifact_utils import _download_artifact_from_uri
label_desc: Use image node_id 5 for calling a global function with example usage: test_download_artifacts_with_uri(run_with_artifact) without return types