From b740568ddfe6194af7c2c5d7123b3cc2a07fa7f7 Mon Sep 17 00:00:00 2001 From: Joshua Harlow Date: Fri, 7 Mar 2014 19:33:41 -0800 Subject: Add some basic template tests --- tests/unittests/test_templating.py | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/unittests/test_templating.py (limited to 'tests/unittests/test_templating.py') diff --git a/tests/unittests/test_templating.py b/tests/unittests/test_templating.py new file mode 100644 index 00000000..b4f425a8 --- /dev/null +++ b/tests/unittests/test_templating.py @@ -0,0 +1,56 @@ +# vi: ts=4 expandtab +# +# Copyright (C) 2014 Yahoo! Inc. +# +# Author: Joshua Harlow +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 3, as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from tests.unittests import helpers as test_helpers + + +from cloudinit import templater + + +class TestTemplates(test_helpers.TestCase): + def test_detection(self): + blob = "## template:cheetah" + + (template_type, contents) = templater.detect_template(blob) + self.assertEqual("cheetah", template_type) + self.assertEqual("", contents.strip()) + + blob = "blahblah $blah" + (template_type, contents) = templater.detect_template(blob) + self.assertEqual("cheetah", template_type) + self.assertEquals(blob, contents) + + blob = '##template:something-new' + self.assertRaises(ValueError, templater.detect_template, blob) + + def test_render_cheetah(self): + blob = '''## template:cheetah +$a,$b''' + c = templater.render_string(blob, {"a": 1, "b": 2}) + self.assertEquals("1,2", c) + + def test_render_jinja(self): + blob = '''## template:jinja +{{a}},{{b}}''' + c = templater.render_string(blob, {"a": 1, "b": 2}) + self.assertEquals("1,2", c) + + def test_render_default(self): + blob = '''$a,$b''' + c = templater.render_string(blob, {"a": 1, "b": 2}) + self.assertEquals("1,2", c) -- cgit v1.2.3