mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
commit
91e3319df8
2 changed files with 25 additions and 23 deletions
|
@ -78,6 +78,7 @@ def xccdf(params):
|
|||
error = None
|
||||
upload_dir = None
|
||||
action = None
|
||||
returncode = None
|
||||
|
||||
try:
|
||||
parser = _ArgumentParser()
|
||||
|
@ -92,14 +93,17 @@ def xccdf(params):
|
|||
tempdir = tempfile.mkdtemp()
|
||||
proc = Popen(
|
||||
shlex.split(cmd), stdout=PIPE, stderr=PIPE, cwd=tempdir)
|
||||
(stdoutdata, stderrdata) = proc.communicate()
|
||||
(stdoutdata, error) = proc.communicate()
|
||||
success = _OSCAP_EXIT_CODES_MAP[proc.returncode]
|
||||
returncode = proc.returncode
|
||||
if success:
|
||||
caller = Caller()
|
||||
caller.cmd('cp.push_dir', tempdir)
|
||||
shutil.rmtree(tempdir, ignore_errors=True)
|
||||
upload_dir = tempdir
|
||||
else:
|
||||
error = stderrdata
|
||||
|
||||
return dict(success=success, upload_dir=upload_dir, error=error)
|
||||
return dict(
|
||||
success=success,
|
||||
upload_dir=upload_dir,
|
||||
error=error,
|
||||
returncode=returncode)
|
||||
|
|
|
@ -72,7 +72,9 @@ class OpenscapTestCase(TestCase):
|
|||
response,
|
||||
{
|
||||
'upload_dir': self.random_temp_dir,
|
||||
'error': None, 'success': True
|
||||
'error': '',
|
||||
'success': True,
|
||||
'returncode': 0
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -80,7 +82,7 @@ class OpenscapTestCase(TestCase):
|
|||
'salt.modules.openscap.Popen',
|
||||
MagicMock(
|
||||
return_value=Mock(
|
||||
**{'returncode': 2, 'communicate.return_value': ('', '')}
|
||||
**{'returncode': 2, 'communicate.return_value': ('', 'some error')}
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -111,8 +113,9 @@ class OpenscapTestCase(TestCase):
|
|||
response,
|
||||
{
|
||||
'upload_dir': self.random_temp_dir,
|
||||
'error': None,
|
||||
'success': True
|
||||
'error': 'some error',
|
||||
'success': True,
|
||||
'returncode': 2
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -124,7 +127,8 @@ class OpenscapTestCase(TestCase):
|
|||
{
|
||||
'error': 'argument --profile is required',
|
||||
'upload_dir': None,
|
||||
'success': False
|
||||
'success': False,
|
||||
'returncode': None
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -132,7 +136,7 @@ class OpenscapTestCase(TestCase):
|
|||
'salt.modules.openscap.Popen',
|
||||
MagicMock(
|
||||
return_value=Mock(
|
||||
**{'returncode': 2, 'communicate.return_value': ('', '')}
|
||||
**{'returncode': 2, 'communicate.return_value': ('', 'some error')}
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -143,8 +147,9 @@ class OpenscapTestCase(TestCase):
|
|||
response,
|
||||
{
|
||||
'upload_dir': self.random_temp_dir,
|
||||
'error': None,
|
||||
'success': True
|
||||
'error': 'some error',
|
||||
'success': True,
|
||||
'returncode': 2
|
||||
}
|
||||
)
|
||||
expected_cmd = [
|
||||
|
@ -181,19 +186,11 @@ class OpenscapTestCase(TestCase):
|
|||
{
|
||||
'upload_dir': None,
|
||||
'error': 'evaluation error',
|
||||
'success': False
|
||||
'success': False,
|
||||
'returncode': 1
|
||||
}
|
||||
)
|
||||
|
||||
@patch(
|
||||
'salt.modules.openscap.Popen',
|
||||
MagicMock(
|
||||
return_value=Mock(**{
|
||||
'returncode': 1,
|
||||
'communicate.return_value': ('', 'evaluation error')
|
||||
})
|
||||
)
|
||||
)
|
||||
def test_openscap_xccdf_eval_fail_not_implemented_action(self):
|
||||
response = openscap.xccdf('info {0}'.format(self.policy_file))
|
||||
|
||||
|
@ -202,6 +199,7 @@ class OpenscapTestCase(TestCase):
|
|||
{
|
||||
'upload_dir': None,
|
||||
'error': "argument action: invalid choice: 'info' (choose from 'eval')",
|
||||
'success': False
|
||||
'success': False,
|
||||
'returncode': None
|
||||
}
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue