This file is indexed.

/usr/lib/python2.7/dist-packages/notebook/bundler/tests/test_bundler_api.py is in python-notebook 5.2.2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
"""Test the bundlers API."""

# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.

import io
from os.path import join as pjoin

from notebook.tests.launchnotebook import NotebookTestBase
from nbformat import write
from nbformat.v4 import (
    new_notebook, new_markdown_cell, new_code_cell, new_output,
)

try:
    from unittest.mock import patch
except ImportError:
    from mock import patch # py3
    
def bundle(handler, model):
    """Bundler test stub. Echo the notebook path."""
    handler.finish(model['path'])

class BundleAPITest(NotebookTestBase):
    """Test the bundlers web service API"""
    @classmethod
    def setup_class(cls):
        """Make a test notebook. Borrowed from nbconvert test. Assumes the class
        teardown will clean it up in the end."""
        super(BundleAPITest, cls).setup_class()
        nbdir = cls.notebook_dir

        nb = new_notebook()

        nb.cells.append(new_markdown_cell(u'Created by test'))
        cc1 = new_code_cell(source=u'print(2*6)')
        cc1.outputs.append(new_output(output_type="stream", text=u'12'))
        nb.cells.append(cc1)
        
        with io.open(pjoin(nbdir, 'testnb.ipynb'), 'w',
                     encoding='utf-8') as f:
            write(nb, f, version=4)

    def test_missing_bundler_arg(self):
        """Should respond with 400 error about missing bundler arg"""
        resp = self.request('GET', 'bundle/fake.ipynb')
        self.assertEqual(resp.status_code, 400)
        self.assertIn('Missing argument bundler', resp.text)

    def test_notebook_not_found(self):
        """Shoudl respond with 404 error about missing notebook"""
        resp = self.request('GET', 'bundle/fake.ipynb',
            params={'bundler': 'fake_bundler'})
        self.assertEqual(resp.status_code, 404)
        self.assertIn('Not Found', resp.text)

    def test_bundler_not_enabled(self):
        """Should respond with 400 error about disabled bundler"""
        resp = self.request('GET', 'bundle/testnb.ipynb',
            params={'bundler': 'fake_bundler'})
        self.assertEqual(resp.status_code, 400)
        self.assertIn('Bundler fake_bundler not enabled', resp.text)

    def test_bundler_import_error(self):
        """Should respond with 500 error about failure to load bundler module"""
        with patch('notebook.bundler.handlers.BundlerHandler.get_bundler') as mock:
            mock.return_value = {'module_name': 'fake_module'}
            resp = self.request('GET', 'bundle/testnb.ipynb',
                params={'bundler': 'fake_bundler'})
            mock.assert_called_with('fake_bundler')
        self.assertEqual(resp.status_code, 500)
        self.assertIn('Could not import bundler fake_bundler', resp.text)
        
    def test_bundler_invoke(self):
        """Should respond with 200 and output from test bundler stub"""
        with patch('notebook.bundler.handlers.BundlerHandler.get_bundler') as mock:
            mock.return_value = {'module_name': 'notebook.bundler.tests.test_bundler_api'}
            resp = self.request('GET', 'bundle/testnb.ipynb',
                params={'bundler': 'stub_bundler'})
            mock.assert_called_with('stub_bundler')
        self.assertEqual(resp.status_code, 200)
        self.assertIn('testnb.ipynb', resp.text)