code: def test_log_artifacts_with_artifact_path(
      dbfs_artifact_repo, test_dir, artifact_path, expected_endpoints
  ):
      with mock.patch(
          "mlflow.utils.rest_utils.http_request"
      ) as http_request_mock, mock.patch(
          "requests.Session.request", return_value=MOCK_SUCCESS_RESPONSE
      ) as mock_base_request:
          endpoints = []
  
          def my_http_request(
              host_creds, **kwargs
          ):  # pylint: disable=unused-argument
              endpoints.append(kwargs["endpoint"])
              return http_request(host_creds, **kwargs)
  
          http_request_mock.side_effect = my_http_request
          dbfs_artifact_repo.log_artifacts(test_dir, artifact_path)
          assert set(endpoints) == expected_endpoints
          mock_calls = [
              mock.call(
                  "POST",
                  f"http://host{endpoint}",
                  **MOCK_REQUEST_KWARGS,
              )
              for endpoint in expected_endpoints
          ]
          mock_base_request.assert_has_calls(mock_calls, any_order=True)
  
imports: import json
  import os
  from unittest import mock
  from unittest.mock import Mock
  import pytest
  from mlflow.exceptions import MlflowException
  from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  from mlflow.store.artifact.dbfs_artifact_repo import DbfsRestArtifactRepository, _get_host_creds_from_default_store
  from mlflow.store.tracking.file_store import FileStore
  from mlflow.store.tracking.rest_store import RestStore
  from mlflow.utils.rest_utils import MlflowHostCreds, http_request
label_desc: Use image node_id 12 for calling a global function with example usage: test_log_artifacts_with_artifact_path(dbfs_artifact_repo, test_dir, artifact_path, expected_endpoints) and returns: http_request