##// END OF EJS Templates
Better user experience when kernel isn't found
Better user experience when kernel isn't found

File last commit:

r15442:0073d6a2
r18063:c6360a7e
Show More
test_notebookapp.py
74 lines | 2.5 KiB | text/x-python | PythonLexer
/ IPython / html / tests / test_notebookapp.py
MinRK
test that `-h` and `--help-all` work for various IPython entry points...
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
capture logging in a few tests...
r15442 import logging
MinRK
reorganize who knows what about paths...
r15420 import os
from tempfile import NamedTemporaryFile
MinRK
test that `-h` and `--help-all` work for various IPython entry points...
r12354 import nose.tools as nt
MinRK
reorganize who knows what about paths...
r15420 from IPython.utils.tempdir import TemporaryDirectory
from IPython.utils.traitlets import TraitError
MinRK
test that `-h` and `--help-all` work for various IPython entry points...
r12354 import IPython.testing.tools as tt
Thomas Kluyver
Test for writing and removing server info files
r14064 from IPython.html import notebookapp
MinRK
reorganize who knows what about paths...
r15420 NotebookApp = notebookapp.NotebookApp
MinRK
test that `-h` and `--help-all` work for various IPython entry points...
r12354
#-----------------------------------------------------------------------------
# Test functions
#-----------------------------------------------------------------------------
def test_help_output():
"""ipython notebook --help-all works"""
tt.help_all_output_test('notebook')
Thomas Kluyver
Test for writing and removing server info files
r14064 def test_server_info_file():
MinRK
capture logging in a few tests...
r15442 nbapp = NotebookApp(profile='nbserver_file_test', log=logging.getLogger())
Thomas Kluyver
Test for writing and removing server info files
r14064 def get_servers():
Thomas Kluyver
Command line entry point to list running notebook servers
r14177 return list(notebookapp.list_running_servers(profile='nbserver_file_test'))
Thomas Kluyver
Test for writing and removing server info files
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
reorganize who knows what about paths...
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
don't create notebook_dir if it doesn't exist
r15423 def test_no_create_nb_dir():
MinRK
reorganize who knows what about paths...
r15420 with TemporaryDirectory() as td:
nbdir = os.path.join(td, 'notebooks')
MinRK
don't create notebook_dir if it doesn't exist
r15423 app = NotebookApp()
with nt.assert_raises(TraitError):
app.notebook_dir = nbdir
MinRK
reorganize who knows what about paths...
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