def test_get_source(self, fs_loader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock() fs_loader().get_source.return_value = "fs_load" # override exists output = ppl.get_source("env", "allura.ext.admin:templates/audit.html") assert_equal(output, "fs_load") fs_loader().get_source.assert_called_once_with("env", "override/allura/ext/admin/templates/audit.html") fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [jinja2.TemplateNotFound("test"), "fs_load"] with mock.patch("pkg_resources.resource_filename") as rf: rf.return_value = "resource" # no override, ':' in template output = ppl.get_source("env", "allura.ext.admin:templates/audit.html") rf.assert_called_once_with("allura.ext.admin", "templates/audit.html") assert_equal(output, "fs_load") assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with("env", "resource") fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [jinja2.TemplateNotFound("test"), "fs_load"] # no override, ':' not in template output = ppl.get_source("env", "templates/audit.html") assert_equal(output, "fs_load") assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with("env", "templates/audit.html")
def test_fs_loader(self, FileSystemLoader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock(return_value=["path1", "path2"]) FileSystemLoader.return_value = "fs_loader" output1 = ppl.fs_loader output2 = ppl.fs_loader ppl.init_paths.assert_called_once_with() FileSystemLoader.assert_called_once_with(["path1", "path2"]) assert_equal(output1, "fs_loader") assert output1 is output2
def test_fs_loader(self, FileSystemLoader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock(return_value=['path1', 'path2']) FileSystemLoader.return_value = 'fs_loader' output1 = ppl.fs_loader output2 = ppl.fs_loader ppl.init_paths.assert_called_once_with() FileSystemLoader.assert_called_once_with(['path1', 'path2']) assert_equal(output1, 'fs_loader') assert output1 is output2
def test_fs_loader(self, FileSystemLoader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock(return_value=['path1', 'path2']) FileSystemLoader.return_value = 'fs_loader' output1 = ppl.fs_loader output2 = ppl.fs_loader ppl.init_paths.assert_called_once_with() FileSystemLoader.assert_called_once_with(['path1', 'path2']) assert_equal(output1, 'fs_loader') assert output1 is output2
def test_override_disable(self, fs_loader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock() fs_loader().get_source.side_effect = jinja2.TemplateNotFound('test') assert_raises(jinja2.TemplateError, ppl.get_source, 'env', 'allura.ext.admin:templates/audit.html') assert_equal(fs_loader().get_source.call_count, 1) fs_loader().get_source.reset_mock() with mock.patch.dict(config, {'disable_template_overrides': False}): assert_raises(jinja2.TemplateError, ppl.get_source, 'env', 'allura.ext.admin:templates/audit.html') assert_equal(fs_loader().get_source.call_count, 2)
def test_init_paths(self): paths = [["root", "/"], ["none", None], ["tail", "/tail"]] ppl = PackagePathLoader() ppl._load_paths = mock.Mock(return_value=paths) ppl._load_rules = mock.Mock(return_value=("order_rules", "repl_rules")) ppl._replace_signposts = mock.Mock() ppl._sort_paths = mock.Mock() output = ppl.init_paths() ppl._load_paths.assert_called_once_with() ppl._load_rules.assert_called_once_with() ppl._sort_paths.assert_called_once_with(paths, "order_rules") ppl._replace_signposts.assert_called_once_with(paths, "repl_rules") assert_equal(output, ["/", "/tail"])
def test_override_disable(self, fs_loader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock() fs_loader().get_source.side_effect = jinja2.TemplateNotFound('test') assert_raises( jinja2.TemplateError, ppl.get_source, 'env', 'allura.ext.admin:templates/audit.html') assert_equal(fs_loader().get_source.call_count, 1) fs_loader().get_source.reset_mock() with mock.patch.dict(config, {'disable_template_overrides': False}): assert_raises( jinja2.TemplateError, ppl.get_source, 'env', 'allura.ext.admin:templates/audit.html') assert_equal(fs_loader().get_source.call_count, 2)
def test_init_paths(self): paths = [ ['root', '/'], ['none', None], ['tail', '/tail'], ] ppl = PackagePathLoader() ppl._load_paths = mock.Mock(return_value=paths) ppl._load_rules = mock.Mock(return_value=('order_rules', 'repl_rules')) ppl._replace_signposts = mock.Mock() ppl._sort_paths = mock.Mock() output = ppl.init_paths() ppl._load_paths.assert_called_once_with() ppl._load_rules.assert_called_once_with() ppl._sort_paths.assert_called_once_with(paths, 'order_rules') ppl._replace_signposts.assert_called_once_with(paths, 'repl_rules') assert_equal(output, ['/', '/tail'])
def test_init_paths(self): paths = [ ['root', '/'], ['none', None], ['tail', '/tail'], ] ppl = PackagePathLoader() ppl._load_paths = mock.Mock(return_value=paths) ppl._load_rules = mock.Mock(return_value=('order_rules', 'repl_rules')) ppl._replace_signposts = mock.Mock() ppl._sort_paths = mock.Mock() output = ppl.init_paths() ppl._load_paths.assert_called_once_with() ppl._load_rules.assert_called_once_with() ppl._sort_paths.assert_called_once_with(paths, 'order_rules') ppl._replace_signposts.assert_called_once_with(paths, 'repl_rules') assert_equal(output, ['/', '/tail'])
def test_get_source(self, fs_loader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock() fs_loader().get_source.return_value = 'fs_load' # override exists output = ppl.get_source('env', 'allura.ext.admin:templates/audit.html') assert_equal(output, 'fs_load') fs_loader().get_source.assert_called_once_with( 'env', 'override/allura/ext/admin/templates/audit.html') fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [ jinja2.TemplateNotFound('test'), 'fs_load' ] with mock.patch('pkg_resources.resource_filename') as rf: rf.return_value = 'resource' # no override, ':' in template output = ppl.get_source('env', 'allura.ext.admin:templates/audit.html') rf.assert_called_once_with('allura.ext.admin', 'templates/audit.html') assert_equal(output, 'fs_load') assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with('env', 'resource') fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [ jinja2.TemplateNotFound('test'), 'fs_load' ] # no override, ':' not in template output = ppl.get_source('env', 'templates/audit.html') assert_equal(output, 'fs_load') assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with('env', 'templates/audit.html')
def test_get_source(self, fs_loader): ppl = PackagePathLoader() ppl.init_paths = mock.Mock() fs_loader().get_source.return_value = 'fs_load' # override exists output = ppl.get_source('env', 'allura.ext.admin:templates/audit.html') assert_equal(output, 'fs_load') fs_loader().get_source.assert_called_once_with( 'env', 'override/allura/ext/admin/templates/audit.html') fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [ jinja2.TemplateNotFound('test'), 'fs_load'] with mock.patch('pkg_resources.resource_filename') as rf: rf.return_value = 'resource' # no override, ':' in template output = ppl.get_source( 'env', 'allura.ext.admin:templates/audit.html') rf.assert_called_once_with( 'allura.ext.admin', 'templates/audit.html') assert_equal(output, 'fs_load') assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with('env', 'resource') fs_loader().get_source.reset_mock() fs_loader().get_source.side_effect = [ jinja2.TemplateNotFound('test'), 'fs_load'] # no override, ':' not in template output = ppl.get_source('env', 'templates/audit.html') assert_equal(output, 'fs_load') assert_equal(fs_loader().get_source.call_count, 2) fs_loader().get_source.assert_called_with( 'env', 'templates/audit.html')