def test_api_list_outputs(self, mock_url, mock_creds, mock_config, mock_get):
        """Test list_outputs"""

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

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

        mock_get.return_value = {"jobOutputs": None}
        val = _api.list_outputs("test_id")
        mock_get.assert_called_with(mock_creds, "https://test_endpoint.com/test_id", self.headers)
        self.assertFalse(val.success)

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

        mock_get.return_value = {
            "jobOutputs": [{"name": "output.zip", "link": {"href": "http://url"}, "kind": "output"}]
        }
        val = _api.list_outputs("test_id")
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{"name": "output.zip", "link": "http://url", "type": "output"}])
        mock_get.return_value = {"jobOutputs": [{"name": "output.zip"}]}
        val = _api.list_outputs("test_id")
        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_outputs("test_id")
        self.assertFalse(val.success)
    def test_api_list_outputs(self, mock_url, mock_creds, mock_config,
                              mock_get):
        """Test list_outputs"""

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

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

        mock_get.return_value = {'jobOutputs': None}
        val = _api.list_outputs("test_id")
        mock_get.assert_called_with(mock_creds,
                                    "https://test_endpoint.com/test_id",
                                    self.headers)
        self.assertFalse(val.success)

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

        mock_get.return_value = {
            'jobOutputs': [{
                'name': 'output.zip',
                'link': {
                    'href': 'http://url'
                },
                'kind': 'output'
            }]
        }
        val = _api.list_outputs("test_id")
        self.assertTrue(val.success)
        self.assertEqual(val.result, [{
            'name': 'output.zip',
            'link': 'http://url',
            'type': 'output'
        }])
        mock_get.return_value = {'jobOutputs': [{'name': 'output.zip'}]}
        val = _api.list_outputs("test_id")
        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_outputs("test_id")
        self.assertFalse(val.success)