mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
'''
|
|
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
|
|
|
|
# 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
|
|
|
|
|
|
class CompileTest(ModuleCase):
|
|
'''
|
|
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
|
|
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'))
|