Improving tests and setting of Location header.

pull/37/head
Brian E. Granger 13 years ago committed by MinRK
parent 9c42ca8a72
commit 36aa39e3b7

@ -22,6 +22,7 @@ from tornado import web
from zmq.utils import jsonapi
from IPython.utils.jsonutil import date_default
from IPython.html.utils import url_path_join
from ...base.handlers import IPythonHandler, json_errors
from ...base.zmqhandlers import AuthenticatedZMQStreamHandler
@ -45,7 +46,8 @@ class MainKernelHandler(IPythonHandler):
km = self.kernel_manager
kernel_id = km.start_kernel()
model = km.kernel_model(kernel_id, self.ws_url)
self.set_header('Location', '{0}api/kernels/{1}'.format(self.base_kernel_url, kernel_id))
location = url_path_join(self.base_kernel_url, 'api', 'kernels', kernel_id)
self.set_header('Location', location)
self.set_status(201)
self.finish(jsonapi.dumps(model))

@ -19,8 +19,10 @@ Authors:
import json
from tornado import web
from IPython.utils.jsonutil import date_default
from ...base.handlers import IPythonHandler, json_errors
from IPython.utils.jsonutil import date_default
from IPython.html.utils import url_path_join
#-----------------------------------------------------------------------------
# Session web service handlers
@ -62,7 +64,8 @@ class SessionRootHandler(IPythonHandler):
else:
kernel_id = km.start_kernel(cwd=nbm.notebook_dir)
model = sm.create_session(name=name, path=path, kernel_id=kernel_id, ws_url=self.ws_url)
self.set_header('Location', '{0}/api/sessions/{1}'.format(self.base_project_url, model['id']))
location = url_path_join(self.base_kernel_url, 'api', 'sessions', model['id'])
self.set_header('Location', location)
self.set_status(201)
self.finish(json.dumps(model, default=date_default))

@ -74,6 +74,7 @@ class SessionAPITest(NotebookTestBase):
self.assertIn('id', newsession)
self.assertEqual(newsession['notebook']['name'], 'nb1.ipynb')
self.assertEqual(newsession['notebook']['path'], 'foo')
self.assertEqual(resp.headers['Location'], '/api/sessions/{0}'.format(newsession['id']))
sessions = self.sess_api.list().json()
self.assertEqual(sessions, [newsession])

Loading…
Cancel
Save