class TestGitWikiPathUrls(unittest.TestCase): def setUp(self): self.temp_dir = tempfile.TemporaryDirectory("TestDownloadToday", "") self.path_manager = PathManager(self.temp_dir) def tearDown(self): self.temp_dir.cleanup() def test_folder_index(self): url = "/toto/tutu/" path = self.path_manager.get_path_from_url(url) print("Path = " + path) self.assertEqual(os.path.join(self.temp_dir.name, url, "index.md"), path) def test_page(self): url = "/toto/tutu" path = self.path_manager.get_path_from_url(url) self.assertEqual(os.path.join(self.temp_dir.name, url + '.md'), path) def test_page_with_space(self): url = "/toto/tu%20tu" decoded_url = "/toto/tu tu" path = self.path_manager.get_path_from_url(url) self.assertEqual(os.path.join(self.temp_dir.name, decoded_url + '.md'), path) def test_other_resource(self): url = '/test.jpg' path = self.path_manager.get_path_from_url(url) print("Path = " + path) self.assertEqual(os.path.join(self.temp_dir.name, url), path)
from flask import Flask, redirect, url_for import sys import os from gitwiki.pathmanager import PathManager from gitwiki.pagerenderer import PageRenderer from gitwiki.breadcrumbrenderer import BreadcrumbRenderer from gitwiki.wikipageview import WikiView from gitwiki.staticpageview import StaticView BASE_PAGE_URL = '/pages/' if __name__ == "__main__": base_pages_path = sys.argv[1] program_base_path = os.path.dirname(os.path.realpath(__file__)) path_manager = PathManager(base_pages_path) page_renderer = PageRenderer(base_url=BASE_PAGE_URL, base_pages_path=base_pages_path) breadcrumb_renderer = BreadcrumbRenderer(BASE_PAGE_URL) print("Base page path = %s" % base_pages_path) app = Flask('Personal Wiki') wiki_page_view = WikiView.as_view(name='wiki_page_view', path_manager=path_manager, page_renderer=page_renderer, breadcrumb_renderer=breadcrumb_renderer) static_page_view = StaticView.as_view(name='static_page_view', path_manager=path_manager) app.add_url_rule(rule=BASE_PAGE_URL, view_func=wiki_page_view, defaults={'path': ''})
class TestGitWikiPathUrls(unittest.TestCase): def setUp(self): self.temp_dir = tempfile.TemporaryDirectory("TestDownloadToday", "") temp_folder = self.temp_dir.name self.path_manager = PathManager(temp_folder) def tearDown(self): self.temp_dir.cleanup() def test_folder_with_index(self): url = '/toto/tutu/' self.ensure_file_presence(url + 'index.md') path_info = self.path_manager.get_path_info_from_url(url) print("Path = " + path_info.path_on_disk) self.assertEqual(os.path.join(self.temp_dir.name, url[1:], 'index.md'), path_info.path_on_disk) def test_folder_without_index(self): url = '/toto/tutu-no-index/' self.ensure_file_presence(url + 'no-index') path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual(PathNature.folder_without_index, path_info.pathNature) def test_root_page(self): url = '' self.ensure_file_presence('index.md') path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual(PathNature.folder_with_index, path_info.pathNature) self.assertEqual(os.path.join(self.temp_dir.name, 'index.md'), path_info.path_on_disk) def test_page(self): url = "/toto/tutu" self.ensure_file_presence(url + '.md') path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual(os.path.join(self.temp_dir.name, url[1:] + '.md'), path_info.path_on_disk) def test_page_not_found(self): url = '/toto/tutu-not-found' path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual(PathNature.not_found, path_info.pathNature) def test_page_with_space(self): url = '/toto/tu%20tu' decoded_url = '/toto/tu tu' self.ensure_file_presence(decoded_url + '.md') path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual( os.path.join(self.temp_dir.name, decoded_url[1:] + '.md'), path_info.path_on_disk) def test_other_resource(self): url = '/test.jpg' self.ensure_file_presence(url[1:]) path_info = self.path_manager.get_path_info_from_url(url) print("Path = " + path_info.path_on_disk) self.assertEqual(os.path.join(self.temp_dir.name, url), path_info.path_on_disk) def test_other_resource_not_found(self): url = '/test-not-found.jpg' path_info = self.path_manager.get_path_info_from_url(url) self.assertEqual(PathNature.other_resource_not_found, path_info.pathNature) def ensure_file_presence(self, file_path): relative_file_path = file_path if file_path[0] == '/': relative_file_path = file_path[1:] full_path = os.path.join(self.temp_dir.name, relative_file_path) print('Temp dir : #' + self.temp_dir.name + '#') print('About to create : #' + full_path + '#') basedir = os.path.dirname(full_path) if not os.path.exists(basedir): os.makedirs(basedir) with open(full_path, 'a'): os.utime(full_path, None)
def setUp(self): self.temp_dir = tempfile.TemporaryDirectory("TestDownloadToday", "") self.path_manager = PathManager(self.temp_dir)
def setUp(self): self.temp_dir = tempfile.TemporaryDirectory("TestDownloadToday", "") temp_folder = self.temp_dir.name self.path_manager = PathManager(temp_folder)