import requests from IPython.html.utils import url_path_join from IPython.html.tests.launchnotebook import NotebookTestBase class NbconvertAPI(object): """Wrapper for nbconvert API calls.""" def __init__(self, base_url): self.base_url = base_url def _req(self, verb, path, body=None, params=None): response = requests.request(verb, url_path_join(self.base_url, 'api/nbconvert', path), data=body, params=params, ) response.raise_for_status() return response def list_formats(self): return self._req('GET', '') class APITest(NotebookTestBase): def setUp(self): self.nbconvert_api = NbconvertAPI(self.base_url()) def test_list_formats(self): formats = self.nbconvert_api.list_formats().json() self.assertIsInstance(formats, dict) self.assertIn('python', formats) self.assertIn('html', formats) self.assertEqual(formats['python']['output_mimetype'], 'text/x-python')