salt/tests/integration/shell/call.py

64 lines
1.8 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
"""
tests.integration.shell.call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:copyright: © 2012 UfSoft.org - :email:`Pedro Algarvio (pedro@algarvio.me)`
:license: Apache 2.0, see LICENSE for more details.
"""
import sys
# Import salt libs
from salt import version
from saltunittest import TestLoader, TextTestRunner, skipIf
import integration
from integration import TestDaemon
class CallTest(integration.ShellCase, integration.ShellCaseCommonTestsMixIn):
_call_binary_ = 'salt-call'
def test_default_output(self):
out = self.run_call('test.fib 3')
expect = ['local: !!python/tuple',
'- - 0',
' - 1',
' - 1',
' - 2']
self.assertEqual(expect, out[:-1])
def test_text_output(self):
out = self.run_call('--text-out test.fib 3')
if version.__version_info__ < (0, 10, 8):
expect = [
"WARNING: The option --text-out is deprecated. Please "
"consider using '--out text' instead."
]
else:
expect = []
expect += [
'local: ([0, 1, 1, 2]'
]
self.assertEqual(''.join(expect), ''.join(out).rsplit(",", 1)[0])
@skipIf(sys.platform.startswith('win'), 'This test does not apply on Win')
def test_user_delete_kw_output(self):
ret = self.run_call('-d user.delete')
self.assertIn(
'salt \'*\' user.delete name remove=True force=True',
''.join(ret)
)
if __name__ == "__main__":
loader = TestLoader()
tests = loader.loadTestsFromTestCase(CallTest)
print('Setting up Salt daemons to execute tests')
with TestDaemon():
runner = TextTestRunner(verbosity=1).run(tests)
sys.exit(runner.wasSuccessful())