code: def test_download_demo_datasets_with_path(
      mock_boto3, mock_config, mock_mkdirs, mock_exists, mock_join
  ):
      """Test downloading a demo dataset by giving a path."""
  
      # setup
  
      mock_exists.return_value = False
      datasets = "test_dataset"
  
      # run
  
      result = data.download_demo(datasets, path="test_dir")
  
      # assert
  
      mock_boto3.client.assert_called_once_with(
          "s3", config=mock_config.return_value
      )
      mock_config.assert_called_once_with(
          signature_version=data.UNSIGNED
      )
  
      mock_join.assert_called_once_with("test_dir", "test_dataset")
      mock_mkdirs.assert_called_once_with(
          "test_dir"
      )  # The actual dir that we pass
      assert result == mock_join.return_value
  
imports: from mock import Mock, call, patch
  from atm import data
label_desc: Use image node_id 3 for calling a global function with example usage: test_download_demo_datasets_with_path(mock_boto3, mock_config, mock_mkdirs, mock_exists, mock_join) without return types