salt/tests/integration/states/test_compiler.py

50 lines
1.4 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
2012-05-17 05:00:01 +00:00
'''
tests for host state
'''
# Import python libs
from __future__ import absolute_import, unicode_literals, print_function
# Import Salt Testing libs
from tests.support.case import ModuleCase
2012-05-17 05:00:01 +00:00
# Import Salt libs
import salt.utils.platform
# Import 3rd-Party libs
HAS_LSB_RELEASE = True
try:
import lsb_release
except ImportError:
HAS_LSB_RELEASE = False
2012-05-29 16:40:20 +00:00
class CompileTest(ModuleCase):
2012-05-17 05:00:01 +00:00
'''
Validate the state compiler
'''
def test_multi_state(self):
'''
Test the error with multiple states of the same type
'''
ret = self.run_function('state.sls', mods='fuzz.multi_state')
# Verify that the return is a list, aka, an error
2012-07-23 19:00:54 +00:00
self.assertIsInstance(ret, list)
def test_jinja_deep_error(self):
'''
Test when we have an error in a execution module
called by jinja
'''
if salt.utils.platform.is_linux() and HAS_LSB_RELEASE:
release = lsb_release.get_distro_information()
if release.get('ID') == 'Debian' and int(release.get('RELEASE', '0')[0]) < 9:
self.skipTest('This test is flaky on Debian 8. Skipping.')
ret = self.run_function('state.sls', ['issue-10010'])
self.assertTrue(
', in jinja_error' in ret[0].strip())
self.assertTrue(
ret[0].strip().endswith('Exception: hehehe'))