123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # -*- coding: utf-8 -*-
- '''
- :codeauthor: Daniel Mizyrycki (mzdaniel@glidelink.net)
- tests.integration.cli.custom_module
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Test salt-ssh sls with a custom module work.
- $ cat srv/custom_module.sls
- custom-module:
- module.run:
- - name: test.recho
- - text: hello
- $ cat srv/_modules/override_test.py
- __virtualname__ = 'test'
- def __virtual__():
- return __virtualname__
- def recho(text):
- return text[::-1]
- $ salt-ssh localhost state.sls custom_module
- localhost:
- olleh
- '''
- # Import Python libs
- from __future__ import absolute_import, print_function, unicode_literals
- # Import test Libs
- from tests.support.case import SSHCase
- class SSHCustomModuleTest(SSHCase):
- '''
- Test sls with custom module functionality using ssh
- '''
- def test_ssh_regular_module(self):
- '''
- Test regular module work using SSHCase environment
- '''
- expected = 'hello'
- cmd = self.run_function('test.echo', arg=['hello'])
- self.assertEqual(expected, cmd)
- def test_ssh_custom_module(self):
- '''
- Test custom module work using SSHCase environment
- '''
- expected = 'hello'[::-1]
- cmd = self.run_function('test.recho', arg=['hello'])
- self.assertEqual(expected, cmd)
- def test_ssh_sls_with_custom_module(self):
- '''
- Test sls with custom module work using SSHCase environment
- '''
- expected = {
- "module_|-regular-module_|-test.echo_|-run": 'hello',
- "module_|-custom-module_|-test.recho_|-run": 'olleh'}
- cmd = self.run_function('state.sls', arg=['custom_module'])
- for key in cmd:
- if not isinstance(cmd, dict) or not isinstance(cmd[key], dict):
- raise AssertionError('{0} is not a proper state return'
- .format(cmd))
- elif not cmd[key]['result']:
- raise AssertionError(cmd[key]['comment'])
- cmd_ret = cmd[key]['changes'].get('ret', None)
- self.assertEqual(cmd_ret, expected[key])
|