36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
|
"""Test the /tree handlers"""
|
||
|
import os
|
||
|
import io
|
||
|
from notebook.utils import url_path_join
|
||
|
from nbformat import write
|
||
|
from nbformat.v4 import new_notebook
|
||
|
from urllib.parse import urlparse
|
||
|
|
||
|
import requests
|
||
|
|
||
|
from notebook.tests.launchnotebook import NotebookTestBase
|
||
|
|
||
|
class TreeTest(NotebookTestBase):
|
||
|
def setUp(self):
|
||
|
nbdir = self.notebook_dir
|
||
|
d = os.path.join(nbdir, 'foo')
|
||
|
os.mkdir(d)
|
||
|
|
||
|
with io.open(os.path.join(d, 'bar.ipynb'), 'w', encoding='utf-8') as f:
|
||
|
nb = new_notebook()
|
||
|
write(nb, f, version=4)
|
||
|
|
||
|
with io.open(os.path.join(d, 'baz.txt'), 'w', encoding='utf-8') as f:
|
||
|
f.write(u'flamingo')
|
||
|
|
||
|
self.base_url()
|
||
|
|
||
|
def test_redirect(self):
|
||
|
r = self.request('GET', 'tree/foo/bar.ipynb')
|
||
|
self.assertEqual(r.url, self.base_url() + 'notebooks/foo/bar.ipynb')
|
||
|
|
||
|
r = self.request('GET', 'tree/foo/baz.txt', allow_redirects=False)
|
||
|
self.assertEqual(r.status_code, 302)
|
||
|
self.assertEqual(r.headers['Location'],
|
||
|
urlparse(url_path_join(self.base_url(), 'files/foo/baz.txt')).path)
|