aboutsummaryrefslogtreecommitdiffstats
path: root/src/onaptests/scenario/basic_onboard.py
blob: 37947f0b4fee3a2ac29c31ca3146efc8f1ba179c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env python
"""Basic Onboard test case."""
import logging
import time
from xtesting.core import testcase
from onapsdk.configuration import settings
from onapsdk.exceptions import SDKException
from onaptests.steps.onboard.service import YamlTemplateServiceOnboardStep
from onaptests.utils.exceptions import OnapTestException

class BasicOnboard(testcase.TestCase):
    """Onboard a simple VM with ONAP."""

    __logger = logging.getLogger(__name__)

    def __init__(self, **kwargs):
        """Init BasicOnboard."""
        # import basic_onboard_settings needed
        if "case_name" not in kwargs:
            kwargs["case_name"] = 'basic_onboard'
        super(BasicOnboard, self).__init__(**kwargs)
        self.__logger.debug("BasicOnboard init started")
        self.test = YamlTemplateServiceOnboardStep(
            cleanup=settings.CLEANUP_FLAG)
        self.start_time = None
        self.stop_time = None
        self.result = 0

    def run(self):
        """Run basic_onboard and onboard a simple service"""
        self.start_time = time.time()
        self.__logger.debug("start time")
        try:
            self.test.execute()
            self.test.cleanup()
            self.__logger.info("VNF basic_vm successfully onboarded")
            self.result = 100
        except OnapTestException as exc:
            self.result = 0
            self.__logger.exception(exc.error_message)
        except SDKException:
            self.result = 0
            self.__logger.exception("SDK Exception")
        finally:
            self.stop_time = time.time()

    def clean(self):
        """Clean Additional resources if needed."""
        self.__logger.info("Generate Test report")
        self.test.reports_collection.generate_report()