##// END OF EJS Templates
changes after session manager code review
changes after session manager code review

File last commit:

r13052:310a6115
r13057:c4a6408b
Show More
test_kernels_api.py
54 lines | 1.5 KiB | text/x-python | PythonLexer
Brian E. Granger
Added base class for Notebook API tests.
r13038 """Test the kernels service API."""
import os
import sys
import json
import requests
Zachary Sailer
Code review changes....
r13048 from IPython.html.utils import url_path_join
Brian E. Granger
Added base class for Notebook API tests.
r13038 from IPython.html.tests.launchnotebook import NotebookTestBase
class KernelAPITest(NotebookTestBase):
"""Test the kernels web service API"""
def base_url(self):
Zachary Sailer
Code review changes....
r13048 return url_path_join(super(KernelAPITest,self).base_url(), 'api/kernels')
Brian E. Granger
Added base class for Notebook API tests.
r13038
Zachary Sailer
review fixes on tests, add extra kernel api test
r13045 def mkkernel(self):
r = requests.post(self.base_url())
return r.json()
MinRK
ensure test_no_kernels runs first...
r13050 def test__no_kernels(self):
Brian E. Granger
Added base class for Notebook API tests.
r13038 """Make sure there are no kernels running at the start"""
url = self.base_url()
r = requests.get(url)
Zachary Sailer
review fixes on tests, add extra kernel api test
r13045 self.assertEqual(r.json(), [])
Zachary Sailer
add tests for session api
r13044
def test_main_kernel_handler(self):
# POST request
r = requests.post(self.base_url())
data = r.json()
assert isinstance(data, dict)
# GET request
r = requests.get(self.base_url())
assert isinstance(r.json(), list)
Zachary Sailer
add error catching to kernel manager...
r13052 self.assertEqual(r.json()[0]['id'], data['id'])
Zachary Sailer
add tests for session api
r13044
Zachary Sailer
review fixes on tests, add extra kernel api test
r13045 def test_kernel_handler(self):
# GET kernel with id
data = self.mkkernel()
url = self.base_url() +'/' + data['id']
r = requests.get(url)
assert isinstance(r.json(), dict)
self.assertIn('id', r.json())
self.assertEqual(r.json()['id'], data['id'])
# DELETE kernel with id
r = requests.delete(url)
self.assertEqual(r.status_code, 204)
r = requests.get(self.base_url())
MinRK
ensure test_no_kernels runs first...
r13050 self.assertEqual(r.json(), [])