Include oscap returncode in response

This commit is contained in:
Mihai Dinca 2017-02-20 10:23:13 +01:00
parent 6418e725ed
commit 0ecde2cd02
2 changed files with 19 additions and 8 deletions

View file

@ -78,6 +78,7 @@ def xccdf(params):
error = None
upload_dir = None
action = None
returncode = None
try:
parser = _ArgumentParser()
@ -94,6 +95,7 @@ def xccdf(params):
shlex.split(cmd), stdout=PIPE, stderr=PIPE, cwd=tempdir)
(stdoutdata, stderrdata) = proc.communicate()
success = _OSCAP_EXIT_CODES_MAP[proc.returncode]
returncode = proc.returncode
if success:
caller = Caller()
caller.cmd('cp.push_dir', tempdir)
@ -102,4 +104,8 @@ def xccdf(params):
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)

View file

@ -72,7 +72,8 @@ class OpenscapTestCase(TestCase):
response,
{
'upload_dir': self.random_temp_dir,
'error': None, 'success': True
'error': None, 'success': True,
'returncode': 0
}
)
@ -112,7 +113,8 @@ class OpenscapTestCase(TestCase):
{
'upload_dir': self.random_temp_dir,
'error': None,
'success': True
'success': True,
'returncode': 2
}
)
@ -124,7 +126,8 @@ class OpenscapTestCase(TestCase):
{
'error': 'argument --profile is required',
'upload_dir': None,
'success': False
'success': False,
'returncode': None
}
)
@ -144,7 +147,8 @@ class OpenscapTestCase(TestCase):
{
'upload_dir': self.random_temp_dir,
'error': None,
'success': True
'success': True,
'returncode': 2
}
)
expected_cmd = [
@ -181,7 +185,8 @@ class OpenscapTestCase(TestCase):
{
'upload_dir': None,
'error': 'evaluation error',
'success': False
'success': False,
'returncode': 1
}
)
@ -189,7 +194,6 @@ class OpenscapTestCase(TestCase):
'salt.modules.openscap.Popen',
MagicMock(
return_value=Mock(**{
'returncode': 1,
'communicate.return_value': ('', 'evaluation error')
})
)
@ -202,6 +206,7 @@ class OpenscapTestCase(TestCase):
{
'upload_dir': None,
'error': "argument action: invalid choice: 'info' (choose from 'eval')",
'success': False
'success': False,
'returncode': None
}
)