def test_api_list_task_outputs(self, mock_url, mock_creds, mock_config, mock_get):
        """Test list_task_outputs"""

        _api = BatchAppsApi(mock_creds, mock_config)
        mock_url.return_value = "https://test.com/{jobid}/{taskid}"
        mock_get.return_value = {}

        val = _api.list_task_outputs("test_id", None)
        mock_get.assert_called_with(mock_creds, "https://test.com/test_id/None", self.headers)
        self.assertFalse(val.success)

        mock_get.return_value = {"outputs": None}
        val = _api.list_task_outputs(None, 3)
        mock_get.assert_called_with(mock_creds, "https://test.com/None/3", self.headers)
        self.assertFalse(val.success)

        mock_get.return_value = {"outputs": []}
        val = _api.list_task_outputs("test_id", "0")
        self.assertTrue(val.success)
        self.assertEqual(val.result, [])

        mock_get.return_value = {"outputs": [{"name": "output.zip", "link": {"href": "http://url"}, "kind": "output"}]}
        val = _api.list_task_outputs("test_id", 1)
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{"name": "output.zip", "link": "http://url", "type": "output"}])
        mock_get.return_value = {"outputs": [{"name": "output.zip"}]}
        val = _api.list_task_outputs("test_id", 5)
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{"name": "output.zip", "link": None, "type": None}])

        mock_get.side_effect = RestCallException(None, "Boom~", None)
        val = _api.list_task_outputs("test_id", -1)
        self.assertFalse(val.success)
    def test_api_list_task_outputs(self, mock_url, mock_creds, mock_config,
                                   mock_get):
        """Test list_task_outputs"""

        _api = BatchAppsApi(mock_creds, mock_config)
        mock_url.return_value = "https://test.com/{jobid}/{taskid}"
        mock_get.return_value = {}

        val = _api.list_task_outputs("test_id", None)
        mock_get.assert_called_with(mock_creds,
                                    "https://test.com/test_id/None",
                                    self.headers)
        self.assertFalse(val.success)

        mock_get.return_value = {'outputs': None}
        val = _api.list_task_outputs(None, 3)
        mock_get.assert_called_with(mock_creds, "https://test.com/None/3",
                                    self.headers)
        self.assertFalse(val.success)

        mock_get.return_value = {'outputs': []}
        val = _api.list_task_outputs("test_id", "0")
        self.assertTrue(val.success)
        self.assertEqual(val.result, [])

        mock_get.return_value = {
            'outputs': [{
                'name': 'output.zip',
                'link': {
                    'href': 'http://url'
                },
                'kind': 'output'
            }]
        }
        val = _api.list_task_outputs("test_id", 1)
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{
            'name': 'output.zip',
            'link': 'http://url',
            'type': 'output'
        }])
        mock_get.return_value = {'outputs': [{'name': 'output.zip'}]}
        val = _api.list_task_outputs("test_id", 5)
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{
            'name': 'output.zip',
            'link': None,
            'type': None
        }])

        mock_get.side_effect = RestCallException(None, "Boom~", None)
        val = _api.list_task_outputs("test_id", -1)
        self.assertFalse(val.success)