def test_real_template_thing(): """ Make sure None templates throw errors """ tm = TemplateManager() try: tm.add_real_template(None) assert True is False except ValueError: pass
def test_template_manager_error(): """ Make sure that we error out with a bad template. """ tm = TemplateManager() try: tm.add_template("foo") assert True is False except ValueError: pass
def test_template_voodoo(): """ Make sure the getattr hack still works right. """ templs = { "PlainTemplate": PlainTemplate, "JinjaTemplate": JinjaTemplate, "DebianShim": DebianShim, "UpstreamShim": UpstreamShim, "FakeName": None, } tplm = TemplateManager() for templ in templs: assert tplm._get_template(templ) == templs[templ]
def test_template_manager(): """ Make sure the template manager basics work right. """ template_dir = abspath("./tests/resources/templates/") templs = {"plain1": "PlainTemplate", "jinja1": "JinjaTemplate", "jinja2": "JinjaTemplate"} context = {"foo": "foo"} with tmpdir() as tmp: tplm = TemplateManager() for template in templs: kwargs = {} klasse = templs[template] if klasse == "JinjaTemplate": kwargs["context"] = context tplm.add_template(klasse, os.path.join(template_dir, template), **kwargs) tplm.render(tmp)
def get_template_stack(self): """ Get the template stack in the form of the TemplateManager. """ ctx = self._context tm = TemplateManager() native = ctx['native'] pkgname, version = self.get_source_and_version() version = version['upstream'] for template in ctx['templates']: if template == "shim:upstream": if native: raise InvalidTemplate("shim:upstream") tm.add_template("UpstreamShim", pkgname, version) tm.add_template("DebianShim") else: tobj = self._template_search(template) tm.add_real_template(tobj) return tm