X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Ftest%2Futest_rwnsm.py;h=74b83c4ab88208c130bd3cda44be4e3368c65001;hb=a3bb91f092d378448cb870eccd45d43865de143c;hp=9f73d291638663b3e82284fa6af53777149bd14f;hpb=9ad945aab0b5a992e1df860bede8ecc9b143470e;p=osm%2FSO.git diff --git a/rwlaunchpad/test/utest_rwnsm.py b/rwlaunchpad/test/utest_rwnsm.py index 9f73d291..74b83c4a 100755 --- a/rwlaunchpad/test/utest_rwnsm.py +++ b/rwlaunchpad/test/utest_rwnsm.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -# -# Copyright 2016 RIFT.IO Inc +# +# Copyright 2016-17 RIFT.IO Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,15 +25,24 @@ import unittest import uuid import xmlrunner +import gi +gi.require_version('ProjectNsdYang', '1.0') +gi.require_version('NsrYang', '1.0') from gi.repository import ( - ProjectNsdYang as NsdYang, - NsrYang, - ) + ProjectNsdYang, + NsrYang, +) + logger = logging.getLogger('test-rwnsmtasklet') import rift.tasklets.rwnsmtasklet.rwnsmtasklet as rwnsmtasklet import rift.tasklets.rwnsmtasklet.xpath as rwxpath +from rift.mano.utils.project import ManoProject + + +def prefix_project(xpath): + return "/rw-project:project" + xpath class TestGiXpath(unittest.TestCase): def setUp(self): @@ -46,18 +55,19 @@ class TestGiXpath(unittest.TestCase): """ # Create the initial NSD catalog - nsd_catalog = NsdYang.YangData_RwProject_Project_NsdCatalog() + nsd_catalog = ProjectNsdYang.YangData_RwProject_Project_NsdCatalog() # Create an NSD, set its 'id', and add it to the catalog nsd_id = str(uuid.uuid4()) nsd_catalog.nsd.append( - NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd( + ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd( id=nsd_id, ) ) # Retrieve the NSD using and xpath expression - xpath = '/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd[project-nsd:id={}]'.format(nsd_id) + xpath = prefix_project('/project-nsd:nsd-catalog/project-nsd:nsd[project-nsd:id={}]'. + format(nsd_id)) nsd = rwxpath.getxattr(nsd_catalog, xpath) self.assertEqual(nsd_id, nsd.id) @@ -74,24 +84,27 @@ class TestGiXpath(unittest.TestCase): """ # Define a simple NSD - nsd = NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() + nsd = ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() + + xpath = prefix_project('/project-nsd:nsd-catalog/project-nsd:nsd') # Check that the unset fields are in fact set to None - self.assertEqual(None, rwxpath.getxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name")) - self.assertEqual(None, rwxpath.getxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name")) + self.assertEqual(None, rwxpath.getxattr(nsd, xpath + "/project-nsd:name")) + self.assertEqual(None, rwxpath.getxattr(nsd, xpath + "/project-nsd:short-name")) # Set the values of the 'name' and 'short-name' fields - rwxpath.setxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name", "test-name") - rwxpath.setxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name", "test-short-name") + rwxpath.setxattr(nsd, xpath + "/project-nsd:name", "test-name") + rwxpath.setxattr(nsd, xpath + "/project-nsd:short-name", "test-short-name") # Check that the 'name' and 'short-name' fields are correctly set - self.assertEqual(nsd.name, rwxpath.getxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name")) - self.assertEqual(nsd.short_name, rwxpath.getxattr(nsd, "/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name")) + self.assertEqual(nsd.name, rwxpath.getxattr(nsd, xpath + "/project-nsd:name")) + self.assertEqual(nsd.short_name, rwxpath.getxattr(nsd, xpath + "/project-nsd:short-name")) class TestInputParameterSubstitution(unittest.TestCase): def setUp(self): - self.substitute_input_parameters = rwnsmtasklet.InputParameterSubstitution(logger) + project = ManoProject(logger) + self.substitute_input_parameters = rwnsmtasklet.InputParameterSubstitution(logger, project) def test_null_arguments(self): """ @@ -99,7 +112,7 @@ class TestInputParameterSubstitution(unittest.TestCase): config, no exception should be raised. """ - nsd = NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() + nsd = ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() nsr_config = NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr() self.substitute_input_parameters(None, None) @@ -115,14 +128,14 @@ class TestInputParameterSubstitution(unittest.TestCase): """ # Define the original NSD - nsd = NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() + nsd = ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() nsd.name = "robert" nsd.short_name = "bob" # Define which parameters may be modified nsd.input_parameter_xpath.append( - NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name", + ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:name", label="NSD Name", ) ) @@ -131,11 +144,11 @@ class TestInputParameterSubstitution(unittest.TestCase): nsr_config = NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr() nsr_config.input_parameter.extend([ NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr_InputParameter( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name", + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:name", value="alice", ), NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr_InputParameter( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name", + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:short-name", value="alice", ), ]) @@ -153,18 +166,18 @@ class TestInputParameterSubstitution(unittest.TestCase): """ # Define the original NSD - nsd = NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() - nsd.name = "robert" - nsd.short_name = "bob" + nsd = ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd() + # nsd.name = "robert" + # nsd.short_name = "bob" # Define which parameters may be modified nsd.input_parameter_xpath.extend([ - NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name", + ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:name", label="NSD Name", ), - NsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name", + ProjectNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd_InputParameterXpath( + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:short-name", label="NSD Short Name", ), ]) @@ -173,11 +186,11 @@ class TestInputParameterSubstitution(unittest.TestCase): nsr_config = NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr() nsr_config.input_parameter.extend([ NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr_InputParameter( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:name", + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:name", value="robert", ), NsrYang.YangData_RwProject_Project_NsInstanceConfig_Nsr_InputParameter( - xpath="/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:short-name", + xpath="/nsd:nsd-catalog/nsd:nsd/nsd:short-name", value="bob", ), ])