X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=inline;f=rwlaunchpad%2Ftest%2Futest_ro_account.py;h=2ac784ad9c87e34b68a167ee951666c5ea701274;hb=ba63fbf8a4f63b9525041a1f93fd2b6458e37933;hp=6e480d4040de2085f1337da4036d441759737f05;hpb=8c799681ac1cf3383807d6eb404f56b71f938aba;p=osm%2FSO.git diff --git a/rwlaunchpad/test/utest_ro_account.py b/rwlaunchpad/test/utest_ro_account.py old mode 100644 new mode 100755 index 6e480d40..2ac784ad --- a/rwlaunchpad/test/utest_ro_account.py +++ b/rwlaunchpad/test/utest_ro_account.py @@ -24,18 +24,19 @@ import uuid import rift.test.dts import rift.tasklets.rwnsmtasklet.cloud as cloud import rift.tasklets.rwnsmtasklet.openmano_nsm as openmano_nsm +from rift.mano.utils.project import ManoProject import rw_peas import gi -gi.require_version('RwDtsYang', '1.0') +gi.require_version('RwDts', '1.0') from gi.repository import ( RwLaunchpadYang as launchpadyang, RwDts as rwdts, - RwVnfdYang, + RwProjectVnfdYang as RwVnfdYang, RwVnfrYang, RwNsrYang, - RwNsdYang, - VnfrYang + RwProjectNsdYang as RwNsdYang, + VnfrYang, ) @@ -94,6 +95,7 @@ class RoAccountDtsTestCase(rift.test.dts.AbstractDTSTest): self.log.debug("STARTING - %s", test_id) self.tinfo = self.new_tinfo(str(test_id)) self.dts = rift.tasklets.DTS(self.tinfo, self.schema, self.loop) + self.project = ManoProject(self.log) self.tinfo_sub = self.new_tinfo(str(test_id) + "_sub") self.dts_sub = rift.tasklets.DTS(self.tinfo_sub, self.schema, self.loop) @@ -105,7 +107,7 @@ class RoAccountDtsTestCase(rift.test.dts.AbstractDTSTest): @rift.test.dts.async_test def test_orch_account_create(self): - orch = cloud.ROAccountPluginSelector(self.dts, self.log, self.loop, None) + orch = cloud.ROAccountPluginSelector(self.dts, self.log, self.loop, self.project, None) yield from orch.register() @@ -114,27 +116,47 @@ class RoAccountDtsTestCase(rift.test.dts.AbstractDTSTest): mock_orch_acc = launchpadyang.ResourceOrchestrator.from_dict( {'name': 'rift-ro', 'account_type': 'rift_ro', 'rift_ro': {'rift_ro': True}}) - # Test rift-ro plugin - w_xpath = "C,/rw-launchpad:resource-orchestrator" + # Test rift-ro plugin CREATE + w_xpath = self.project.add_project("C,/rw-launchpad:resource-orchestrator") xpath = w_xpath yield from self.publisher.publish(w_xpath, xpath, mock_orch_acc) yield from asyncio.sleep(5, loop=self.loop) assert type(orch.ro_plugin) is cloud.RwNsPlugin - # Test Openmano plugin + # Test Openmano plugin CREATE mock_orch_acc = launchpadyang.ResourceOrchestrator.from_dict( {'name': 'openmano', 'account_type': 'openmano', - 'openmano': {'tenant_id': "abc"}}) + 'openmano': {'tenant_id': "abc", + "port": 9999, + "host": "10.64.11.77"}}) yield from self.publisher.publish(w_xpath, xpath, mock_orch_acc) yield from asyncio.sleep(5, loop=self.loop) - print (type(orch.ro_plugin)) assert type(orch.ro_plugin) is openmano_nsm.OpenmanoNsPlugin + assert orch.ro_plugin._cli_api._port == mock_orch_acc.openmano.port + assert orch.ro_plugin._cli_api._host == mock_orch_acc.openmano.host + + # Test update + mock_orch_acc.openmano.port = 9789 + mock_orch_acc.openmano.host = "10.64.11.78" + yield from self.dts.query_update(w_xpath, + rwdts.XactFlag.ADVISE, mock_orch_acc) + assert orch.ro_plugin._cli_api._port == mock_orch_acc.openmano.port + assert orch.ro_plugin._cli_api._host == mock_orch_acc.openmano.host + + # Test update when a live instance exists + # Exception should be thrown + orch.handle_nsr(None, rwdts.QueryAction.CREATE) + mock_orch_acc.openmano.port = 9788 + + with self.assertRaises(Exception): + yield from self.dts.query_update(w_xpath, + rwdts.XactFlag.ADVISE, mock_orch_acc) # Test delete - yield from self.dts.query_delete("C,/rw-launchpad:resource-orchestrator", + yield from self.dts.query_delete(w_xpath, flags=rwdts.XactFlag.ADVISE) assert orch.ro_plugin == None @@ -150,4 +172,4 @@ def main(argv=sys.argv[1:]): ) if __name__ == '__main__': - main() \ No newline at end of file + main()