def test_api_get_output_file(self, mock_url, mock_creds, mock_config,
                                 mock_download):
        """Test get_output_file"""

        _callback = mock.Mock()
        _api = BatchAppsApi(mock_creds, mock_config)
        mock_url.return_value = "https://test.com/{jobid}/{name}"
        mock_download.return_value = {}

        val = _api.get_output_file("c:\\dir", 500, False)
        self.assertFalse(mock_download.called)
        self.assertFalse(val.success)

        val = _api.get_output_file("c:\\dir", 500, False, url="http://url")

        mock_download.assert_called_with(mock_creds,
                                         "http://url",
                                         self.headers,
                                         "c:\\dir",
                                         500,
                                         False,
                                         f_name=None,
                                         block_size=4096,
                                         callback=None)
        self.assertTrue(val.success)

        val = _api.get_output_file("c:\\dir",
                                   500,
                                   False,
                                   url="http://url",
                                   job_id="test_id",
                                   callback=_callback,
                                   block=1)

        mock_download.assert_called_with(mock_creds,
                                         "http://url",
                                         self.headers,
                                         "c:\\dir",
                                         500,
                                         False,
                                         f_name=None,
                                         block_size=1,
                                         callback=_callback)
        self.assertTrue(val.success)

        mock_url.reset()
        mock_download.called = False
        val = _api.get_output_file("c:\\dir", 500, False, job_id="test_id")
        self.assertFalse(mock_url.called)
        self.assertFalse(mock_download.called)
        self.assertFalse(val.success)

        val = _api.get_output_file("c:\\dir",
                                   500,
                                   False,
                                   job_id="test_id",
                                   fname="test.zip")

        self.assertTrue(val.success)
    def test_api_get_output_file(self, mock_url, mock_creds, mock_config, mock_download):
        """Test get_output_file"""

        _callback = mock.Mock()
        _api = BatchAppsApi(mock_creds, mock_config)
        mock_url.return_value = "https://test.com/{jobid}/{name}"
        mock_download.return_value = {}

        val = _api.get_output_file("c:\\dir", 500, False)
        self.assertFalse(mock_download.called)
        self.assertFalse(val.success)

        val = _api.get_output_file("c:\\dir", 500, False, url="http://url")

        mock_download.assert_called_with(
            mock_creds, "http://url", self.headers, "c:\\dir", 500, False, f_name=None, block_size=4096, callback=None
        )
        self.assertTrue(val.success)

        val = _api.get_output_file(
            "c:\\dir", 500, False, url="http://url", job_id="test_id", callback=_callback, block=1
        )

        mock_download.assert_called_with(
            mock_creds, "http://url", self.headers, "c:\\dir", 500, False, f_name=None, block_size=1, callback=_callback
        )
        self.assertTrue(val.success)

        mock_url.reset()
        mock_download.called = False
        val = _api.get_output_file("c:\\dir", 500, False, job_id="test_id")
        self.assertFalse(mock_url.called)
        self.assertFalse(mock_download.called)
        self.assertFalse(val.success)

        val = _api.get_output_file("c:\\dir", 500, False, job_id="test_id", fname="test.zip")

        self.assertTrue(val.success)