test_notebookapp.py
73 lines
| 2.4 KiB
| text/x-python
|
PythonLexer
MinRK
|
r12354 | """Test NotebookApp""" | ||
#----------------------------------------------------------------------------- | ||||
# Copyright (C) 2013 The IPython Development Team | ||||
# | ||||
# Distributed under the terms of the BSD License. The full license is in | ||||
# the file COPYING, distributed as part of this software. | ||||
#----------------------------------------------------------------------------- | ||||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
MinRK
|
r15420 | import os | ||
from tempfile import NamedTemporaryFile | ||||
MinRK
|
r12354 | import nose.tools as nt | ||
MinRK
|
r15420 | from IPython.utils.tempdir import TemporaryDirectory | ||
from IPython.utils.traitlets import TraitError | ||||
MinRK
|
r12354 | import IPython.testing.tools as tt | ||
Thomas Kluyver
|
r14064 | from IPython.html import notebookapp | ||
MinRK
|
r15420 | NotebookApp = notebookapp.NotebookApp | ||
MinRK
|
r12354 | |||
#----------------------------------------------------------------------------- | ||||
# Test functions | ||||
#----------------------------------------------------------------------------- | ||||
def test_help_output(): | ||||
"""ipython notebook --help-all works""" | ||||
tt.help_all_output_test('notebook') | ||||
Thomas Kluyver
|
r14064 | def test_server_info_file(): | ||
MinRK
|
r15420 | nbapp = NotebookApp(profile='nbserver_file_test') | ||
Thomas Kluyver
|
r14064 | def get_servers(): | ||
Thomas Kluyver
|
r14177 | return list(notebookapp.list_running_servers(profile='nbserver_file_test')) | ||
Thomas Kluyver
|
r14064 | nbapp.initialize(argv=[]) | ||
nbapp.write_server_info_file() | ||||
servers = get_servers() | ||||
nt.assert_equal(len(servers), 1) | ||||
nt.assert_equal(servers[0]['port'], nbapp.port) | ||||
nt.assert_equal(servers[0]['url'], nbapp.connection_url) | ||||
nbapp.remove_server_info_file() | ||||
nt.assert_equal(get_servers(), []) | ||||
# The ENOENT error should be silenced. | ||||
MinRK
|
r15420 | nbapp.remove_server_info_file() | ||
def test_nb_dir(): | ||||
with TemporaryDirectory() as td: | ||||
app = NotebookApp(notebook_dir=td) | ||||
nt.assert_equal(app.notebook_dir, td) | ||||
MinRK
|
r15423 | def test_no_create_nb_dir(): | ||
MinRK
|
r15420 | with TemporaryDirectory() as td: | ||
nbdir = os.path.join(td, 'notebooks') | ||||
MinRK
|
r15423 | app = NotebookApp() | ||
with nt.assert_raises(TraitError): | ||||
app.notebook_dir = nbdir | ||||
MinRK
|
r15420 | |||
def test_missing_nb_dir(): | ||||
with TemporaryDirectory() as td: | ||||
nbdir = os.path.join(td, 'notebook', 'dir', 'is', 'missing') | ||||
app = NotebookApp() | ||||
with nt.assert_raises(TraitError): | ||||
app.notebook_dir = nbdir | ||||
def test_invalid_nb_dir(): | ||||
with NamedTemporaryFile() as tf: | ||||
app = NotebookApp() | ||||
with nt.assert_raises(TraitError): | ||||
app.notebook_dir = tf | ||||