code: def test_download_demo_dir_exists(
      mock_boto3, mock_config, mock_mkdirs, mock_exists, mock_join
  ):
      """Test downloading a demo dataset and the given directory exists."""
  
      # setup
  
      mock_exists.return_value = True
  
      # run
  
      result = data.download_demo("test_dataset", 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
      )
  
      assert not mock_mkdirs.called
      assert result == mock_join.return_value
  
imports: from mock import Mock, call, patch
  from atm import data
label_desc: Use image node_id 4 for calling a global function with example usage: test_download_demo_dir_exists(mock_boto3, mock_config, mock_mkdirs, mock_exists, mock_join) without return types