##// END OF EJS Templates
Merge pull request #2211 from minrk/datapub...
Merge pull request #2211 from minrk/datapub add data publication message Functions just like displaypub, but sends a namespace of actual data instead of representations. This uses the serialization/zero-copy machinery of the parallel code. The current interpretation of a sequence of data publications within a cell is updates of a single namespace. That is, a series of calls to publish_data(dict(A=...)) during a given cell will result in a single dict with the latest value of A, updated in-place. An alternate interpretation could be to keep appending to a list, but I expect the current update approach to be preferable. Changes along the way: AsyncResults no longer protect metadata access while results are pending. This was an artificial limitation, and impedes informed access of incomplete metadata, which actually works just fine.

File last commit:

r7874:4a6836ce
r8123:dfcd243b merge
Show More
test_nbmanager.py
34 lines | 1.1 KiB | text/x-python | PythonLexer
"""Tests for the notebook manager."""
import os
from unittest import TestCase
from tempfile import NamedTemporaryFile
from IPython.utils.tempdir import TemporaryDirectory
from IPython.utils.traitlets import TraitError
from IPython.frontend.html.notebook.notebookmanager import NotebookManager
class TestNotebookManager(TestCase):
def test_nb_dir(self):
with TemporaryDirectory() as td:
km = NotebookManager(notebook_dir=td)
self.assertEqual(km.notebook_dir, td)
def test_create_nb_dir(self):
with TemporaryDirectory() as td:
nbdir = os.path.join(td, 'notebooks')
km = NotebookManager(notebook_dir=nbdir)
self.assertEqual(km.notebook_dir, nbdir)
def test_missing_nb_dir(self):
with TemporaryDirectory() as td:
nbdir = os.path.join(td, 'notebook', 'dir', 'is', 'missing')
self.assertRaises(TraitError, NotebookManager, notebook_dir=nbdir)
def test_invalid_nb_dir(self):
with NamedTemporaryFile() as tf:
self.assertRaises(TraitError, NotebookManager, notebook_dir=tf.name)