code: def test_default_user_agent(
      self,
      mock_get_fastai_version: Mock,
      mock_get_fastcore_version: Mock,
      mock_get_tf_version: Mock,
      mock_get_torch_version: Mock,
      mock_is_fastai_available: Mock,
      mock_is_fastcore_available: Mock,
      mock_is_tf_available: Mock,
      mock_is_torch_available: Mock,
  ) -> None:
      mock_get_fastai_version.return_value = "fastai_version"
      mock_get_fastcore_version.return_value = "fastcore_version"
      mock_get_tf_version.return_value = "tf_version"
      mock_get_torch_version.return_value = "torch_version"
      mock_is_fastai_available.return_value = True
      mock_is_fastcore_available.return_value = True
      mock_is_tf_available.return_value = True
      mock_is_torch_available.return_value = True
      self.assertEqual(
          self._get_user_agent(),
          f"unknown/None; hf_hub/{get_hf_hub_version()};"
          f" python/{get_python_version()}; torch/torch_version;"
          " tensorflow/tf_version; fastai/fastai_version;"
          " fastcore/fastcore_version",
      )
  
imports: import unittest
  from unittest.mock import Mock, patch
  from huggingface_hub.utils import get_hf_hub_version, get_python_version
  from huggingface_hub.utils._headers import _deduplicate_user_agent, _http_user_agent, build_hf_headers
  from .testing_utils import handle_injection_in_test
label_desc: Use image node_id 2 for calling the TestUserAgentHeadersUtil obj's underlying member method code with example usage: obj.test_default_user_agent(mock_get_fastai_version, mock_get_fastcore_version, mock_get_tf_version, mock_get_torch_version, mock_is_fastai_available, mock_is_fastcore_available, mock_is_tf_available, mock_is_torch_available) without return types