aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Rajewski <lukasz.rajewski@t-mobile.pl>2023-06-06 12:20:00 +0000
committerLukasz Rajewski <lukasz.rajewski@t-mobile.pl>2023-06-06 12:32:30 +0000
commitc458ace517bb640de7ec05cd2a26e33cfcac21e2 (patch)
treefa33046b361bd69280b52d3ed180db4c22f3de3d
parent74fa2a41627e8f2e807bb1c80d928dec3ccf8d85 (diff)
Add component name to the JSON report format
Issue-ID: INT-2235 Signed-off-by: Lukasz Rajewski <lukasz.rajewski@t-mobile.pl> Change-Id: I81274e0cca45ef86490e8004c594d7e85bf3c539
-rw-r--r--src/onaptests/steps/base.py6
-rw-r--r--src/onaptests/steps/reports_collection.py7
-rw-r--r--tests/test_generate_json.py12
3 files changed, 14 insertions, 11 deletions
diff --git a/src/onaptests/steps/base.py b/src/onaptests/steps/base.py
index 0715545..8ebe247 100644
--- a/src/onaptests/steps/base.py
+++ b/src/onaptests/steps/base.py
@@ -193,7 +193,8 @@ class BaseStep(ABC):
self._cleanup_report = Report(
step_description=f"[{self.component}] {self.name} cleanup: {self.description}",
step_execution_status=execution_status,
- step_execution_duration=time.time() - self._start_cleanup_time
+ step_execution_duration=time.time() - self._start_cleanup_time,
+ step_component=self.component
)
else:
self._logger.info("*****************************************************")
@@ -207,7 +208,8 @@ class BaseStep(ABC):
self._execution_report = Report(
step_description=f"[{self.component}] {self.name}: {self.description}",
step_execution_status=execution_status if execution_status else ReportStepStatus.FAIL,
- step_execution_duration=time.time() - self._start_execution_time
+ step_execution_duration=time.time() - self._start_execution_time,
+ step_component=self.component
)
return wrapper
diff --git a/src/onaptests/steps/reports_collection.py b/src/onaptests/steps/reports_collection.py
index 0e5076f..be06151 100644
--- a/src/onaptests/steps/reports_collection.py
+++ b/src/onaptests/steps/reports_collection.py
@@ -15,13 +15,13 @@ class ReportStepStatus(Enum):
FAIL = "FAIL"
NOT_EXECUTED = "NOT EXECUTED"
-
@dataclass
class Report:
"""Step execution report."""
step_description: str
step_execution_status: ReportStepStatus
step_execution_duration: float
+ step_component: str
class ReportsCollection:
@@ -95,10 +95,11 @@ class ReportsCollection:
{
'description': step_report.step_description,
'status': step_report.step_execution_status.value,
- 'duration': step_report.step_execution_duration
+ 'duration': step_report.step_execution_duration,
+ 'component': step_report.step_component
}
for step_report in reversed(self.report)
]
}
with (Path(settings.REPORTING_FILE_DIRECTORY).joinpath(settings.JSON_REPORTING_FILE_NAME)).open('w') as file:
- json.dump(report_dict, file, indent=4) \ No newline at end of file
+ json.dump(report_dict, file, indent=4)
diff --git a/tests/test_generate_json.py b/tests/test_generate_json.py
index b5bc48c..7c5bcd7 100644
--- a/tests/test_generate_json.py
+++ b/tests/test_generate_json.py
@@ -19,12 +19,12 @@ class TestReportsCollection(unittest.TestCase):
settings.HTML_REPORTING_FILE_NAME = "reporting.html"
settings.JSON_REPORTING_FILE_NAME = "reporting.json"
- self.collection.put(Report("Step 1", ReportStepStatus.PASS, 10.0))
- self.collection.put(Report("Step 2", ReportStepStatus.FAIL, 5.0))
- self.collection.put(Report("Step 3", ReportStepStatus.NOT_EXECUTED, 0.0))
- self.collection.put(Report("Step 10", ReportStepStatus.NOT_EXECUTED, 0.0))
- self.collection.put(Report("Step 12", ReportStepStatus.PASS, 20.0))
- self.collection.put(Report("Step 21", ReportStepStatus.FAIL, 15.0))
+ self.collection.put(Report("Step 1", ReportStepStatus.PASS, 10.0, "TEST"))
+ self.collection.put(Report("Step 2", ReportStepStatus.FAIL, 5.0, "TEST"))
+ self.collection.put(Report("Step 3", ReportStepStatus.NOT_EXECUTED, 0.0, "TEST"))
+ self.collection.put(Report("Step 10", ReportStepStatus.NOT_EXECUTED, 0.0, "TEST"))
+ self.collection.put(Report("Step 12", ReportStepStatus.PASS, 20.0, "TEST"))
+ self.collection.put(Report("Step 21", ReportStepStatus.FAIL, 15.0, "TEST"))
report_dict = self.collection.generate_report()
report_json_path = os.path.join(settings.REPORTING_FILE_DIRECTORY, settings.JSON_REPORTING_FILE_NAME)