diff --git a/preupg/report_parser.py b/preupg/report_parser.py
index 6ccb719..a391de9 100644
--- a/preupg/report_parser.py
+++ b/preupg/report_parser.py
@@ -147,34 +147,6 @@ def modify_result_path(self, result_dir, scenario, mode):
self.write_xml()
-<<<<<<< HEAD
- def update_inplace_risk(self, scanning_progress, rule, res):
- """Function updates inplace risk"""
- inplace_risk = XccdfHelper.get_check_import_inplace_risk(rule)
- if inplace_risk:
- logger_report.debug("Update_inplace_risk '%s'", inplace_risk)
- return_value = XccdfHelper.get_and_print_inplace_risk(0, inplace_risk)
- logger_report.debug("Get and print inplace risk return code '%s'", return_value)
- if int(return_value)/2 == 1:
- res.text = ReportHelper.get_needs_inspection()
- elif int(return_value)/2 == 2:
- res.text = ReportHelper.get_needs_action()
- for index, row in enumerate(scanning_progress.output_data):
- if self.get_nodes_text(rule, "title") in row:
- scanning_progress.output_data[index] = "{0}:{1}".format(
- self.get_nodes_text(rule, "title"),
- res.text)
-=======
- def modify_platform_tag(self, platform_tag):
- """The function updates platform tag to the assessment system tag"""
- for platform in self.filter_children(self.target_tree, "platform"):
- if "cpe:/o:redhat:enterprise_linux:" in platform.get("idref"):
- logger_report.debug("Update platform tag to '%s'", platform_tag)
- platform.set("idref", "cpe:/o:redhat:enterprise_linux:"+platform_tag)
-
- self.write_xml()
->>>>>>> Refactor functions determining the return code
-
def replace_inplace_risk(self, scanning_results=None):
"""Replace result of a module:
- from FAIL to NEEDS_INSPECTION if the module has SLIGHT or MEDIUM risk
diff --git a/tests/__init__.py b/tests/__init__.py
index 109c09d..89e7d6b 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -9,16 +9,12 @@
os.environ['CURRENT_DIRECTORY'] = dirname
os.environ['XCCDF_VALUE_REPORT_DIR'] = dirname
os.environ['XCCDF_VALUE_CURRENT_DIRECTORY'] = os.path.join(os.path.dirname(__file__), "..")
-os.environ['XCCDF_RESULT_ERROR'] = "3"
-os.environ['XCCDF_RESULT_FAILED'] = "2"
-os.environ['XCCDF_RESULT_FAIL'] = "2"
-os.environ['XCCDF_RESULT_FIXED'] = "1"
-os.environ['XCCDF_RESULT_NEEDS_INSPECTION'] = "1"
-os.environ['XCCDF_RESULT_NEEDS_ACTION'] = "1"
-os.environ['XCCDF_RESULT_NOT_APPLICABLE'] = "10"
+os.environ['XCCDF_RESULT_FAIL'] = "102"
+os.environ['XCCDF_RESULT_ERROR'] = "103"
+os.environ['XCCDF_RESULT_FIXED'] = "109"
+os.environ['XCCDF_RESULT_NOT_APPLICABLE'] = "105"
os.environ['XCCDF_VALUE_MODULE_PATH'] = "test_script_api"
-
def suite():
settings.log_dir = os.getcwd()
settings.preupg_log = os.path.join(settings.log_dir, "preupg.log")
diff --git a/tests/generated_results/inplace_combined_risk_test.xml b/tests/generated_results/inplace_combined_risk_test.xml
index d92e91b..bd3c14b 100644
--- a/tests/generated_results/inplace_combined_risk_test.xml
+++ b/tests/generated_results/inplace_combined_risk_test.xml
@@ -30,7 +30,6 @@
-
/root/preupgrade
@@ -72,7 +71,7 @@
Dummy content
- Dummy content
+ Dummy content solution
@@ -132,33 +131,6 @@
-
- Dummy content
-
- Dummy content
-
- Dummy content
-
- str1
str2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -229,24 +201,6 @@
-
- dummy_result
-
- sample output
-
-
-
-
-
-
-
-
-
-
-
-
-
-
49.081196
40.000000
diff --git a/tests/generated_results/inplace_risk_test.xml b/tests/generated_results/inplace_risk_test.xml
index 0c34f48..d4cc4de 100644
--- a/tests/generated_results/inplace_risk_test.xml
+++ b/tests/generated_results/inplace_risk_test.xml
@@ -28,8 +28,7 @@
This profile is designed for the Preupgrade Assistant tool.
-
-
+
/root/preupgrade
@@ -51,54 +50,27 @@
DUMMY
-
+
Dummy content
-
+
dummy_preupg
-
+
admin
-
+
/root/preupgrade/FOOBAR6_7/dummy/preupg
-
+
solution.txt
-
+
Dummy content
Dummy content
- Dummy content
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dummy content
-
- Dummy content
-
- Dummy content
-
- str1
str2
+ HTML
solution
@@ -144,19 +116,19 @@
1
1
/root/preupgrade/FOOBAR6_7
- dummy_preupg
- admin
- /root/preupgrade/FOOBAR6_7/dummy/preupg
- solution.txt
-
- RESULT_VALUE
+ dummy_preupg
+ admin
+ /root/preupgrade/FOOBAR6_7/dummy/preupg
+ solution.txt
+
+ RESULT_VALUE1
- INPLACE_TAG
+ INPLACE_TAG1
-
-
-
-
+
+
+
+
@@ -166,23 +138,6 @@
-
- dummy_result
-
- sample output
-
-
-
-
-
-
-
-
-
-
-
-
-
49.081196
40.000000
diff --git a/tests/test_inplace_risks.py b/tests/test_inplace_risks.py
index b105cf3..0056f0e 100644
--- a/tests/test_inplace_risks.py
+++ b/tests/test_inplace_risks.py
@@ -6,7 +6,7 @@
from preupg.xccdf import XccdfHelper
from preupg.utils import FileHelper
-from preupg import settings
+from preupg.report_parser import ReportParser
from preupg.settings import ResultBasedReturnCodes
try:
@@ -15,112 +15,130 @@
import tests.base as base
+def _update_xccdf_file(class_id, result_value, risk):
+ temp_file = class_id._copy_xccdf_file(result_value, risk)
+ ReportParser(temp_file).replace_inplace_risk()
+ return_code = XccdfHelper.check_inplace_risk(temp_file, 0)
+ shutil.rmtree(os.path.dirname(temp_file))
+ return return_code
+
+
class TestRiskCheck(base.TestCase):
risks = ['SLIGHT', 'MEDIUM', 'HIGH', 'EXTREME']
- def _copy_xccdf_file(self, update_text=None, update_return_value=None):
+ @staticmethod
+ def _copy_xccdf_file(update_return_value=None, update_text=None):
temp_dir = tempfile.mkdtemp()
- xccdf_file = os.path.join(os.getcwd(), 'tests', 'generated_results', 'inplace_risk_test.xml')
- temp_file = os.path.join(temp_dir, 'all-xccdf.xml')
+ xccdf_file = os.path.join(os.getcwd(), 'tests', 'generated_results',
+ 'inplace_risk_test.xml')
+ temp_file = os.path.join(temp_dir, 'inplace_risk_test_updated.xml')
shutil.copyfile(xccdf_file, temp_file)
- content = FileHelper.get_file_content(temp_file, 'rb', decode_flag=False)
- new_text = b'preupg.risk.%s: Test %s Inplace risk' % (update_text, update_text)
+ content = FileHelper.get_file_content(temp_file, 'rb',
+ decode_flag=False)
+ content = content.replace(b'RESULT_VALUE1', update_return_value)
+ new_text = b'preupg.risk.%s: Test %s Inplace risk' % (update_text,
+ update_text)
if update_text is not None:
- content = content.replace(b'INPLACE_TAG', new_text)
+ content = content.replace(b'INPLACE_TAG1', new_text)
else:
- content = content.replace(b'INPLACE_TAG', "")
- content = content.replace(b'RESULT_VALUE', update_return_value)
+ content = content.replace(b'INPLACE_TAG1', "")
FileHelper.write_to_file(temp_file, 'wb', content)
return temp_file
- def _update_xccdf_file(self, return_value, risk):
- temp_file = self._copy_xccdf_file(update_return_value=return_value,
- update_text=risk)
- return_value = XccdfHelper.check_inplace_risk(os.path.join(os.path.dirname(temp_file), 'all-xccdf.xml'), 0)
- shutil.rmtree(os.path.dirname(temp_file))
- return return_value
-
def test_check_inplace_risk_high(self):
- self.assertEqual(self._update_xccdf_file('needs_action', 'HIGH'),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck, 'fail', 'HIGH'),
ResultBasedReturnCodes.NEEDS_ACTION)
def test_check_inplace_risk_medium(self):
- self.assertEqual(self._update_xccdf_file('needs_inspection', 'MEDIUM'),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck, 'fail', 'MEDIUM'),
ResultBasedReturnCodes.NEEDS_INSPECTION)
def test_check_inplace_risk_slight(self):
- self.assertEqual(self._update_xccdf_file('needs_inspection', 'SLIGHT'),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck, 'fail', 'SLIGHT'),
ResultBasedReturnCodes.NEEDS_INSPECTION)
def test_check_inplace_risk_extreme(self):
- self.assertEqual(self._update_xccdf_file('fail', 'EXTREME'),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck, 'fail', 'EXTREME'),
ResultBasedReturnCodes.FAIL)
def test_fail_return_value(self):
- self.assertEqual(self._update_xccdf_file('fail', None),
- ResultBasedReturnCodes.FAIL)
+ self.assertEqual(_update_xccdf_file(TestRiskCheck, 'fail', None),
+ ResultBasedReturnCodes.ERROR)
def test_pass_return_values(self):
expected_value = 'pass'
- self.assertEqual(self._update_xccdf_file(expected_value, None),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, None),
ResultBasedReturnCodes.PASS)
for risk in self.risks:
- self.assertEqual(self._update_xccdf_file(expected_value, risk),
- ResultBasedReturnCodes.PASS)
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, risk),
+ ResultBasedReturnCodes.ERROR)
def test_fixed_return_values(self):
expected_value = 'fixed'
- self.assertEqual(self._update_xccdf_file(expected_value, None),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, None),
ResultBasedReturnCodes.FIXED)
for risk in self.risks:
- self.assertEqual(self._update_xccdf_file(expected_value, risk),
- ResultBasedReturnCodes.FIXED)
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, risk),
+ ResultBasedReturnCodes.ERROR)
def test_informational_return_values(self):
expected_value = 'informational'
- self.assertEqual(self._update_xccdf_file(expected_value, None),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, None),
ResultBasedReturnCodes.INFORMATIONAL)
for risk in self.risks:
- self.assertEqual(self._update_xccdf_file(expected_value, risk),
- ResultBasedReturnCodes.INFORMATIONAL)
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, risk),
+ ResultBasedReturnCodes.ERROR)
def test_not_applicable_return_values(self):
- expected_value = 'not_applicable'
- self.assertEqual(self._update_xccdf_file(expected_value, None),
+ expected_value = 'notapplicable'
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, None),
ResultBasedReturnCodes.NOT_ALL)
for risk in self.risks:
- self.assertEqual(self._update_xccdf_file(expected_value, risk),
- ResultBasedReturnCodes.NOT_ALL)
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, risk),
+ ResultBasedReturnCodes.ERROR)
def test_error_return_values(self):
expected_value = 'error'
- self.assertEqual(self._update_xccdf_file(expected_value, None),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, None),
ResultBasedReturnCodes.ERROR)
for risk in self.risks:
- self.assertEqual(self._update_xccdf_file(expected_value, risk),
+ self.assertEqual(_update_xccdf_file(TestRiskCheck,
+ expected_value, risk),
ResultBasedReturnCodes.ERROR)
class TestCombinedRiskCheck(base.TestCase):
- risks = ['SLIGHT', 'MEDIUM', 'HIGH', 'EXTREME']
-
- def _copy_xccdf_file(self, update_text=None, update_return_values=None):
+ @staticmethod
+ def _copy_xccdf_file(update_return_values=None, update_text=None):
temp_dir = tempfile.mkdtemp()
- xccdf_file = os.path.join(os.getcwd(), 'tests', 'generated_results', 'inplace_combined_risk_test.xml')
+ xccdf_file = os.path.join(os.getcwd(), 'tests', 'generated_results',
+ 'inplace_combined_risk_test.xml')
temp_file = os.path.join(temp_dir, 'all-xccdf.xml')
shutil.copyfile(xccdf_file, temp_file)
- content = FileHelper.get_file_content(temp_file, 'rb', decode_flag=False)
+ content = FileHelper.get_file_content(temp_file, 'rb',
+ decode_flag=False)
if update_text:
if update_text[0] is not None:
- new_text = b'preupg.risk.%s: Test %s Inplace risk' % (update_text[0], update_text[0])
+ new_text = b'preupg.risk.%s: Test %s Inplace risk' % (
+ update_text[0], update_text[0])
if update_text is not None:
content = content.replace(b'INPLACE_TAG1', new_text)
else:
content = content.replace(b'INPLACE_TAG1', "")
if update_text[1] is not None:
- new_text = b'preupg.risk.%s: Test %s Inplace risk' % (update_text[1], update_text[1])
+ new_text = b'preupg.risk.%s: Test %s Inplace risk' % (
+ update_text[1], update_text[1])
if update_text is not None:
content = content.replace(b'INPLACE_TAG2', new_text)
else:
@@ -130,76 +148,82 @@ def _copy_xccdf_file(self, update_text=None, update_return_values=None):
FileHelper.write_to_file(temp_file, 'wb', content)
return temp_file
- def _update_xccdf_file(self, return_value, risk):
- temp_file = self._copy_xccdf_file(update_return_values=return_value,
- update_text=risk)
- return_value = XccdfHelper.check_inplace_risk(os.path.join(os.path.dirname(temp_file), 'all-xccdf.xml'), 0)
- shutil.rmtree(os.path.dirname(temp_file))
- return return_value
-
def test_error_pass(self):
- self.assertEqual(self._update_xccdf_file(['error', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['error', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.ERROR)
def test_error_failed(self):
- self.assertEqual(self._update_xccdf_file(['error', 'fail'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['error', 'fail'],
+ [None, None]),
ResultBasedReturnCodes.ERROR)
def test_error_informational(self):
- self.assertEqual(self._update_xccdf_file(['error', 'informational'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['error', 'informational'],
+ [None, None]),
ResultBasedReturnCodes.ERROR)
def test_needs_inspection_pass(self):
- self.assertEqual(self._update_xccdf_file(['needs_inspection', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['needs_inspection', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.NEEDS_INSPECTION)
def test_informational_pass(self):
- self.assertEqual(self._update_xccdf_file(['informational', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['informational', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.INFORMATIONAL)
def test_fixed_informational(self):
- self.assertEqual(self._update_xccdf_file(['fixed', 'informational'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['fixed', 'informational'],
+ [None, None]),
ResultBasedReturnCodes.FIXED)
def test_fixed_pass(self):
- self.assertEqual(self._update_xccdf_file(['fixed', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['fixed', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.FIXED)
def test_pass_pass(self):
- self.assertEqual(self._update_xccdf_file(['pass', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['pass', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.PASS)
def test_needs_action_failed(self):
- self.assertEqual(self._update_xccdf_file(['needs_action', 'fail'],
- ['HIGH', 'EXTREME']),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['needs_action', 'fail'],
+ ['HIGH', 'EXTREME']),
ResultBasedReturnCodes.FAIL)
def test_fixed_failed(self):
- self.assertEqual(self._update_xccdf_file(['fixed', 'fail'],
- [None, 'EXTREME']),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['fixed', 'fail'],
+ [None, 'EXTREME']),
ResultBasedReturnCodes.FAIL)
def test_fixed_failed_none(self):
- self.assertEqual(self._update_xccdf_file(['fixed', 'fail'],
- [None, None]),
- ResultBasedReturnCodes.FAIL)
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['fixed', 'fail'],
+ [None, None]),
+ ResultBasedReturnCodes.ERROR)
def test_fixed_information_risk(self):
- self.assertEqual(self._update_xccdf_file(['fixed', 'informational'],
- [None, 'HIGH']),
- ResultBasedReturnCodes.FIXED)
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['fixed', 'informational'],
+ [None, 'HIGH']),
+ ResultBasedReturnCodes.ERROR)
def test_not_applicable_pass(self):
- self.assertEqual(self._update_xccdf_file(['not_applicable', 'pass'],
- [None, None]),
+ self.assertEqual(_update_xccdf_file(TestCombinedRiskCheck,
+ ['notapplicable', 'pass'],
+ [None, None]),
ResultBasedReturnCodes.NOT_ALL)
diff --git a/tests/test_preupg_diff.py b/tests/test_preupg_diff.py
index d9a4dc4..4e2708c 100644
--- a/tests/test_preupg_diff.py
+++ b/tests/test_preupg_diff.py
@@ -43,7 +43,7 @@ def test_xml_on_input(self):
preupg_diff.run()
- self.assertEqual(preupg_diff.print_difference_status.num_new_rules, 2)
+ self.assertEqual(preupg_diff.print_difference_status.num_new_rules, 1)
self.assertEqual(preupg_diff.print_difference_status.num_diff_rules, 1)
class stringify_children_mock(base.MockFunction):
@@ -57,9 +57,9 @@ def test_stringify_solution_text(self):
"generated_results",
"inplace_risk_test.xml"))
self.assertEqual(preupg_diff.stringify_children.children_as_str,
- 'str1
'
- 'str2')
+ 'solution')
def suite():