mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Various tests to validate proper `salt-master
` exit status:
* Test when ``user`` config setting is an invalid user. * Test when an unknown argument is given. * Test Correct ``salt-master`` daemon start up.
This commit is contained in:
parent
68a9912d3a
commit
a46750c8c5
1 changed files with 74 additions and 3 deletions
|
@ -20,10 +20,11 @@ ensure_in_syspath('../../')
|
|||
|
||||
# Import salt libs
|
||||
import integration
|
||||
from integration.utils import testprogram
|
||||
import salt.utils
|
||||
|
||||
|
||||
class MasterTest(integration.ShellCase, integration.ShellCaseCommonTestsMixIn):
|
||||
class MasterTest(integration.ShellCase, testprogram.TestProgramCase, integration.ShellCaseCommonTestsMixIn):
|
||||
|
||||
_call_binary_ = 'salt-master'
|
||||
|
||||
|
@ -78,7 +79,77 @@ class MasterTest(integration.ShellCase, integration.ShellCaseCommonTestsMixIn):
|
|||
if os.path.isdir(config_dir):
|
||||
shutil.rmtree(config_dir)
|
||||
|
||||
def test_exit_status_unknown_user(self):
|
||||
'''
|
||||
Ensure correct exit status when the master is configured to run as an unknown user.
|
||||
'''
|
||||
|
||||
master = testprogram.TestDaemonSaltMaster(
|
||||
name='unknown_user',
|
||||
config={'user': 'unknown'},
|
||||
parent_dir=self._test_dir,
|
||||
)
|
||||
# Call setup here to ensure config and script exist
|
||||
master.setup()
|
||||
stdout, stderr, status = master.run(
|
||||
args=['-d'],
|
||||
catch_stderr=True,
|
||||
with_retcode=True,
|
||||
)
|
||||
self.assert_exit_status(
|
||||
status, 'EX_NOUSER',
|
||||
message='unknown user not on system',
|
||||
stdout=stdout, stderr=stderr
|
||||
)
|
||||
# master.shutdown() should be unnecessary since the start-up should fail
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
def test_exit_status_unknown_argument(self):
|
||||
'''
|
||||
Ensure correct exit status when an unknown argument is passed to salt-master.
|
||||
'''
|
||||
|
||||
master = testprogram.TestDaemonSaltMaster(
|
||||
name='unknown_argument',
|
||||
parent_dir=self._test_dir,
|
||||
)
|
||||
# Call setup here to ensure config and script exist
|
||||
master.setup()
|
||||
stdout, stderr, status = master.run(
|
||||
args=['-d', '--unknown-argument'],
|
||||
catch_stderr=True,
|
||||
with_retcode=True,
|
||||
)
|
||||
self.assert_exit_status(
|
||||
status, 'EX_USAGE',
|
||||
message='unknown argument',
|
||||
stdout=stdout, stderr=stderr
|
||||
)
|
||||
# master.shutdown() should be unnecessary since the start-up should fail
|
||||
|
||||
def test_exit_status_correct_usage(self):
|
||||
'''
|
||||
Ensure correct exit status when salt-master starts correctly.
|
||||
'''
|
||||
|
||||
master = testprogram.TestDaemonSaltMaster(
|
||||
name='correct_usage',
|
||||
parent_dir=self._test_dir,
|
||||
)
|
||||
# Call setup here to ensure config and script exist
|
||||
master.setup()
|
||||
stdout, stderr, status = master.run(
|
||||
args=['-d'],
|
||||
catch_stderr=True,
|
||||
with_retcode=True,
|
||||
)
|
||||
self.assert_exit_status(
|
||||
status, 'EX_OK',
|
||||
message='correct usage',
|
||||
stdout=stdout, stderr=stderr
|
||||
)
|
||||
master.shutdown()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from integration import run_tests
|
||||
run_tests(MasterTest)
|
||||
integration.run_tests(MasterTest)
|
||||
|
|
Loading…
Add table
Reference in a new issue