Fix issue in status check after pylama fixxes addition
[testsuite/pythonsdk-tests.git] / src / onaptests / scenario / cds_resource_resolution.py
1 #!/usr/bin/env python
2 """CDS resource resolution test scenario."""
3
4 import logging
5 import time
6
7 from onapsdk.configuration import settings
8 from onapsdk.exceptions import SDKException
9 from onaptests.scenario.scenario_base import ScenarioBase
10 from onaptests.steps.base import BaseStep
11 from onaptests.steps.onboard.cds import CbaProcessStep
12 from onaptests.steps.simulator.cds_mockserver import \
13     CdsMockserverCnfConfigureStep
14 from onaptests.utils.exceptions import OnapTestException
15
16
17 class CDSResourceResolutionStep(BaseStep):
18     """Step created to run scenario and generate report."""
19
20     def __init__(self, cleanup=False):
21         """Initialize step.
22
23         Substeps:
24             - CdsMockserverCnfConfigureStep,
25             - CbaProcessStep.
26         """
27         super().__init__(cleanup=cleanup)
28         self.add_step(CdsMockserverCnfConfigureStep(
29             cleanup=cleanup
30         ))
31         self.add_step(CbaProcessStep(
32             cleanup=cleanup
33         ))
34
35     @property
36     def description(self) -> str:
37         """Step description.
38
39         Used for reports
40
41         Returns:
42             str: Step description
43
44         """
45         return "CDS resource-resoulution base step"
46
47     @property
48     def component(self) -> str:
49         """Component name.
50
51        Name of the component this step relates to.
52             Usually the name of ONAP component.
53
54         Returns:
55             str: Component name
56
57         """
58         return "PythonSDK-tests"
59
60
61 class CDSResourceResolution(ScenarioBase):
62     """Enrich simple blueprint using CDS blueprintprocessor."""
63
64     __logger = logging.getLogger(__name__)
65
66     def __init__(self, **kwargs):
67         """Init CDS resource resolution use case."""
68         super().__init__('basic_cds', **kwargs)
69         self.test = CDSResourceResolutionStep(
70             cleanup=settings.CLEANUP_FLAG)
71         self.start_time = None
72         self.stop_time = None
73         self.result = 0
74
75     def run(self):
76         self.__logger.debug("CDS resource resolution run")
77         self.start_time = time.time()
78         try:
79             for test_phase in (self.test.execute, self.test.cleanup):
80                 try:
81                     test_phase()
82                     self.result += 50
83                 except OnapTestException as exc:
84                     self.__logger.exception(exc.error_message)
85                 except SDKException:
86                     self.__logger.exception("SDK Exception")
87         finally:
88             self.stop_time = time.time()
89
90     def clean(self):
91         """Clean Additional resources if needed."""
92         self.__logger.info("Generate Test report")
93         self.test.reports_collection.generate_report()