Show More
@@ -27,16 +27,16 class MainKernelHandler(IPythonHandler): | |||
|
27 | 27 | @web.authenticated |
|
28 | 28 | @json_errors |
|
29 | 29 | def post(self): |
|
30 | km = self.kernel_manager | |
|
30 | 31 | model = self.get_json_body() |
|
31 | 32 | if model is None: |
|
32 | raise web.HTTPError(400, "No JSON data provided") | |
|
33 | try: | |
|
34 | name = model['name'] | |
|
35 | except KeyError: | |
|
36 | raise web.HTTPError(400, "Missing field in JSON data: name") | |
|
33 | model = { | |
|
34 | 'name': km.default_kernel_name | |
|
35 | } | |
|
36 | else: | |
|
37 | model.setdefault('name', km.default_kernel_name) | |
|
37 | 38 | |
|
38 | km = self.kernel_manager | |
|
39 | kernel_id = km.start_kernel(kernel_name=name) | |
|
39 | kernel_id = km.start_kernel(kernel_name=model['name']) | |
|
40 | 40 | model = km.kernel_model(kernel_id) |
|
41 | 41 | location = url_path_join(self.base_url, 'api', 'kernels', kernel_id) |
|
42 | 42 | self.set_header('Location', url_escape(location)) |
@@ -57,6 +57,16 class KernelAPITest(NotebookTestBase): | |||
|
57 | 57 | kernels = self.kern_api.list().json() |
|
58 | 58 | self.assertEqual(kernels, []) |
|
59 | 59 | |
|
60 | def test_default_kernel(self): | |
|
61 | # POST request | |
|
62 | r = self.kern_api._req('POST', '') | |
|
63 | kern1 = r.json() | |
|
64 | self.assertEqual(r.headers['location'], '/api/kernels/' + kern1['id']) | |
|
65 | self.assertEqual(r.status_code, 201) | |
|
66 | self.assertIsInstance(kern1, dict) | |
|
67 | ||
|
68 | self.assertEqual(r.headers['x-frame-options'], "SAMEORIGIN") | |
|
69 | ||
|
60 | 70 | def test_main_kernel_handler(self): |
|
61 | 71 | # POST request |
|
62 | 72 | r = self.kern_api.start() |
General Comments 0
You need to be logged in to leave comments.
Login now