You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.0 KiB
60 lines
2.0 KiB
"""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 ..filenbmanager import FileNotebookManager
|
|
from ..nbmanager import NotebookManager
|
|
|
|
class TestFileNotebookManager(TestCase):
|
|
|
|
def test_nb_dir(self):
|
|
with TemporaryDirectory() as td:
|
|
km = FileNotebookManager(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 = FileNotebookManager(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, FileNotebookManager, notebook_dir=nbdir)
|
|
|
|
def test_invalid_nb_dir(self):
|
|
with NamedTemporaryFile() as tf:
|
|
self.assertRaises(TraitError, FileNotebookManager, notebook_dir=tf.name)
|
|
|
|
class TestNotebookManager(TestCase):
|
|
def test_named_notebook_path(self):
|
|
nm = NotebookManager()
|
|
|
|
# doesn't end with ipynb, should just be path
|
|
name, path = nm.named_notebook_path('hello')
|
|
self.assertEqual(name, None)
|
|
self.assertEqual(path, 'hello/')
|
|
|
|
name, path = nm.named_notebook_path('/')
|
|
self.assertEqual(name, None)
|
|
|
|
name, path = nm.named_notebook_path('hello.ipynb')
|
|
self.assertEqual(name, 'hello.ipynb')
|
|
self.assertEqual(path, '/')
|
|
|
|
name, path = nm.named_notebook_path('/hello.ipynb')
|
|
self.assertEqual(name, 'hello.ipynb')
|
|
self.assertEqual(path, '/')
|
|
|
|
name, path = nm.named_notebook_path('/this/is/a/path/hello.ipynb')
|
|
self.assertEqual(name, 'hello.ipynb')
|
|
self.assertEqual(path, '/this/is/a/path/')
|
|
|
|
|