def test_api_get_file(self, mock_url, mock_creds, mock_config, mock_download):
        """Test get_file"""

        _callback = mock.Mock()
        _api = BatchAppsApi(mock_creds, mock_config)

        val = _api.get_file("a", "b", "c")
        self.assertFalse(val.success)
        self.assertFalse(mock_download.called)

        test_file = mock.create_autospec(UserFile)
        test_file.url = "http://test"

        val = _api.get_file(test_file, 500, "c:\\dir", True)
        self.assertTrue(val.success)
        mock_download.assert_called_with(
            mock_creds, "http://test", self.headers, "c:\\dir", 500, overwrite=True, block_size=4096, callback=None
        )

        mock_download.side_effect = RestCallException(None, "test", None)
        val = _api.get_file(test_file, 500, "c:\\dir", True, callback=_callback, block=1)
        self.assertFalse(val.success)
        mock_download.assert_called_with(
            mock_creds, "http://test", self.headers, "c:\\dir", 500, overwrite=True, block_size=1, callback=_callback
        )
    def test_api_get_file(self, mock_url, mock_creds, mock_config,
                          mock_download):
        """Test get_file"""

        _callback = mock.Mock()
        _api = BatchAppsApi(mock_creds, mock_config)

        val = _api.get_file("a", "b", "c")
        self.assertFalse(val.success)
        self.assertFalse(mock_download.called)

        test_file = mock.create_autospec(UserFile)
        test_file.url = "http://test"

        val = _api.get_file(test_file, 500, "c:\\dir", True)
        self.assertTrue(val.success)
        mock_download.assert_called_with(mock_creds,
                                         "http://test",
                                         self.headers,
                                         "c:\\dir",
                                         500,
                                         overwrite=True,
                                         block_size=4096,
                                         callback=None)

        mock_download.side_effect = RestCallException(None, "test", None)
        val = _api.get_file(test_file,
                            500,
                            "c:\\dir",
                            True,
                            callback=_callback,
                            block=1)
        self.assertFalse(val.success)
        mock_download.assert_called_with(mock_creds,
                                         "http://test",
                                         self.headers,
                                         "c:\\dir",
                                         500,
                                         overwrite=True,
                                         block_size=1,
                                         callback=_callback)