salt/tests/unit/test_template.py
2017-02-23 23:19:42 +00:00

57 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
'''
:codeauthor: :email: `Mike Place <mp@saltstack.com>`
'''
# Import Python libs
from __future__ import absolute_import
# Import Salt Testing libs
from salttesting import TestCase
from salttesting.helpers import ensure_in_syspath
ensure_in_syspath('../')
# Import Salt libs
from salt import template
class TemplateTestCase(TestCase):
render_dict = {'jinja': 'fake_jinja_func',
'json': 'fake_json_func',
'mako': 'fake_make_func'}
def test_compile_template_bad_type(self):
'''
Test to ensure that unsupported types cannot be passed to the template compiler
'''
ret = template.compile_template(['1', '2', '3'], None, None, None, None)
self.assertDictEqual(ret, {})
def test_check_render_pipe_str(self):
'''
Check that all renderers specified in the pipe string are available.
'''
ret = template.check_render_pipe_str('jinja|json', self.render_dict, None, None)
self.assertIn(('fake_jinja_func', ''), ret)
self.assertIn(('fake_json_func', ''), ret)
self.assertNotIn(('OBVIOUSLY_NOT_HERE', ''), ret)
def test_check_renderer_blacklisting(self):
'''
Check that all renderers specified in the pipe string are available.
'''
ret = template.check_render_pipe_str('jinja|json', self.render_dict, ['jinja'], None)
self.assertListEqual([('fake_json_func', '')], ret)
ret = template.check_render_pipe_str('jinja|json', self.render_dict, None, ['jinja'])
self.assertListEqual([('fake_jinja_func', '')], ret)
ret = template.check_render_pipe_str('jinja|json', self.render_dict, ['jinja'], ['jinja'])
self.assertListEqual([], ret)
ret = template.check_render_pipe_str('jinja|json', self.render_dict, ['jinja'], ['jinja', 'json'])
self.assertListEqual([('fake_json_func', '')], ret)
if __name__ == '__main__':
from integration import run_tests
run_tests(TemplateTestCase, needs_daemon=False)