aboutsummaryrefslogtreecommitdiffstats
path: root/src/onaptests/scenario/basic_cps.py
blob: f7bf7a38877976be3b9f5ad0d198264158ab3691 (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
51
52
53
54
55
56
#!/usr/bin/env python
"""Basic CPS 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.cps import CreateCpsAnchorNodeStep
from onaptests.utils.exceptions import OnapTestException

class BasicCps(testcase.TestCase):
    """Create CPS resources:
            - dataspace
            - schemaset
            - anchor
        And create a node. Use bookstore YANG model (available on CPS repository
        https://github.com/onap/cps/blob/master/cps-service/src/test/resources/bookstore.yang).
        At the end delete what's available to be deleted.

    """

    __logger = logging.getLogger(__name__)

    def __init__(self, **kwargs):
        """Init Basic CPS."""
        if "case_name" not in kwargs:
            kwargs["case_name"] = 'basic_cps'
        super().__init__(**kwargs)
        self.__logger.debug("BasicCps init started")
        self.test = CreateCpsAnchorNodeStep(cleanup=settings.CLEANUP_FLAG)
        self.start_time = None
        self.stop_time = None
        self.result = 0

    def run(self):
        """Run basic_cps and create some CPS resources"""
        self.start_time = time.time()
        self.__logger.debug("start time")
        try:
            self.test.execute()
            self.test.cleanup()
            self.__logger.info("Basic CPS test passed")
            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()