code: def test_log_artifact_with_kerberos_setup(hdfs_system_mock):
      if sys.platform == "win32":
          pytest.skip()
      os.environ[
          "MLFLOW_KERBEROS_TICKET_CACHE"
      ] = "/tmp/krb5cc_22222222"
      os.environ["MLFLOW_KERBEROS_USER"] = "some_kerberos_user"
  
      repo = HdfsArtifactRepository("hdfs:/some/maybe/path")
  
      with NamedTemporaryFile() as tmp_local_file:
          tmp_local_file.write(b"PyArrow Works")
          tmp_local_file.seek(0)
  
          repo.log_artifact(tmp_local_file.name, "test_hdfs/some/path")
  
          hdfs_system_mock.assert_called_once_with(
              extra_conf=None,
              host="default",
              kerb_ticket="/tmp/krb5cc_22222222",
              port=0,
              user="some_kerberos_user",
          )
          upload_mock = hdfs_system_mock.return_value.upload
          upload_mock.assert_called_once()
  
imports: import os
  import sys
  from io import BufferedReader
  from tempfile import NamedTemporaryFile
  from unittest import mock
  from unittest.mock import ANY, call, mock_open
  import pytest
  from pyarrow import HadoopFileSystem
  from mlflow.entities import FileInfo
  from mlflow.store.artifact.hdfs_artifact_repo import HdfsArtifactRepository, _download_hdfs_file, _parse_extra_conf, _relative_path_remote, _resolve_base_path
  from mlflow.utils.file_utils import TempDir
label_desc: Use image node_id 3 for calling a global function with example usage: test_log_artifact_with_kerberos_setup(hdfs_system_mock) without return types