review sims/tpce process management in 2.2.1 tests
[transportpce.git] / tests / transportpce_tests / 2.2.1 / test_renderer_service_path_nominal.py
index cfd6de4d60b73270b30300ff01206f97b6b85a9d..213530692198248339403e92d6122ca5c800b5d6 100644 (file)
@@ -24,52 +24,19 @@ import test_utils
 
 class TransportPCERendererTesting(unittest.TestCase):
 
-    honeynode_process1 = None
-    honeynode_process2 = None
-    odl_process = None
+    processes = None
     restconf_baseurl = "http://localhost:8181/restconf"
 
-# START_IGNORE_XTESTING
-
     @classmethod
     def setUpClass(cls):
-        print("starting honeynode1...")
-        cls.honeynode_process1 = test_utils.start_xpdra_honeynode()
-        time.sleep(20)
-
-        print("starting honeynode2...")
-        cls.honeynode_process2 = test_utils.start_roadma_honeynode()
-        time.sleep(20)
-        print("all honeynodes started")
-
-        print("starting opendaylight...")
-        cls.odl_process = test_utils.start_tpce()
-        time.sleep(60)
-        print("opendaylight started")
+        cls.processes = test_utils.start_tpce()
+        cls.processes = test_utils.start_sims(['xpdra', 'roadma'])
 
     @classmethod
     def tearDownClass(cls):
-        for child in psutil.Process(cls.odl_process.pid).children():
-            child.send_signal(signal.SIGINT)
-            child.wait()
-        cls.odl_process.send_signal(signal.SIGINT)
-        cls.odl_process.wait()
-        for child in psutil.Process(cls.honeynode_process1.pid).children():
-            child.send_signal(signal.SIGINT)
-            child.wait()
-        cls.honeynode_process1.send_signal(signal.SIGINT)
-        cls.honeynode_process1.wait()
-        for child in psutil.Process(cls.honeynode_process2.pid).children():
-            child.send_signal(signal.SIGINT)
-            child.wait()
-        cls.honeynode_process2.send_signal(signal.SIGINT)
-        cls.honeynode_process2.wait()
-
-    def setUp(self):
-        print("execution of {}".format(self.id().split(".")[-1]))
-        time.sleep(10)
-
-# END_IGNORE_XTESTING
+        for process in cls.processes:
+            test_utils.shutdown_process(process)
+        print("all processes killed")
 
     def test_01_rdm_device_connected(self):
         url = ("{}/config/network-topology:"
@@ -80,7 +47,7 @@ class TransportPCERendererTesting(unittest.TestCase):
             "netconf-node-topology:username": "admin",
             "netconf-node-topology:password": "admin",
             "netconf-node-topology:host": "127.0.0.1",
-            "netconf-node-topology:port": "17841",
+            "netconf-node-topology:port": test_utils.sims['roadma']['port'],
             "netconf-node-topology:tcp-only": "false",
             "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
@@ -101,7 +68,7 @@ class TransportPCERendererTesting(unittest.TestCase):
             "netconf-node-topology:username": "admin",
             "netconf-node-topology:password": "admin",
             "netconf-node-topology:host": "127.0.0.1",
-            "netconf-node-topology:port": "17840",
+            "netconf-node-topology:port": test_utils.sims['xpdra']['port'],
             "netconf-node-topology:tcp-only": "false",
             "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
@@ -188,10 +155,17 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset({'name': 'DEG1-TTP-TXRX-nmc-7', 'administrative-state': 'inService',
-                                       'supporting-circuit-pack-name': '1/0',
-                                       'type': 'org-openroadm-interfaces:networkMediaChannelConnectionTerminationPoint',
-                                       'supporting-port': 'L1'}, res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'DEG1-TTP-TXRX-nmc-7',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0',
+                 'type': 'org-openroadm-interfaces:networkMediaChannelConnectionTerminationPoint',
+                 'supporting-port': 'L1'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'frequency': 195.8, u'width': 40},
             res['interface'][0]['org-openroadm-network-media-channel-interfaces:nmc-ctp'])
@@ -206,10 +180,17 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset({'name': 'DEG1-TTP-TXRX-mc-7', 'administrative-state': 'inService',
-                                       'supporting-circuit-pack-name': '1/0',
-                                       'type': 'org-openroadm-interfaces:mediaChannelTrailTerminationPoint',
-                                       'supporting-port': 'L1'}, res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'DEG1-TTP-TXRX-mc-7',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0',
+                 'type': 'org-openroadm-interfaces:mediaChannelTrailTerminationPoint',
+                 'supporting-port': 'L1'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'min-freq': 195.775, u'max-freq': 195.825},
             res['interface'][0]['org-openroadm-media-channel-interfaces:mc-ttp'])
@@ -224,10 +205,17 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset({'name': 'SRG1-PP3-TXRX-nmc-7', 'administrative-state': 'inService',
-                                       'supporting-circuit-pack-name': '3/0',
-                                       'type': 'org-openroadm-interfaces:networkMediaChannelConnectionTerminationPoint',
-                                       'supporting-port': 'C3'}, res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'SRG1-PP3-TXRX-nmc-7',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '3/0',
+                 'type': 'org-openroadm-interfaces:networkMediaChannelConnectionTerminationPoint',
+                 'supporting-port': 'C3'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'frequency': 195.8, u'width': 40},
             res['interface'][0]['org-openroadm-network-media-channel-interfaces:nmc-ctp'])
@@ -258,10 +246,14 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset(
-            {'connection-name': 'SRG1-PP3-TXRX-DEG1-TTP-TXRX-7',
-             'opticalControlMode': 'off'},
-            res['roadm-connections'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'connection-name': 'SRG1-PP3-TXRX-DEG1-TTP-TXRX-7',
+                 'opticalControlMode': 'off'
+                 }, **res['roadm-connections'][0]),
+            res['roadm-connections'][0]
+        )
         self.assertDictEqual(
             {'src-if': 'SRG1-PP3-TXRX-nmc-7'},
             res['roadm-connections'][0]['source'])
@@ -279,12 +271,17 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset(
-            {'name': 'XPDR1-NETWORK1-7', 'administrative-state': 'inService',
-             'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
-             'type': 'org-openroadm-interfaces:opticalChannel',
-             'supporting-port': '1'},
-            res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'XPDR1-NETWORK1-7',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
+                 'type': 'org-openroadm-interfaces:opticalChannel',
+                 'supporting-port': '1'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'rate': u'org-openroadm-common-types:R100G',
              u'transmit-power': -5,
@@ -301,13 +298,18 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset(
-            {'name': 'XPDR1-NETWORK1-OTU', 'administrative-state': 'inService',
-             'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
-             'type': 'org-openroadm-interfaces:otnOtu',
-             'supporting-port': '1',
-             'supporting-interface': 'XPDR1-NETWORK1-7'},
-            res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'XPDR1-NETWORK1-OTU',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
+                 'type': 'org-openroadm-interfaces:otnOtu',
+                 'supporting-port': '1',
+                 'supporting-interface': 'XPDR1-NETWORK1-7'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'rate': u'org-openroadm-otn-common-types:OTU4',
              u'fec': u'scfec'},
@@ -323,17 +325,25 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset(
-            {'name': 'XPDR1-NETWORK1-ODU', 'administrative-state': 'inService',
-             'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
-             'type': 'org-openroadm-interfaces:otnOdu',
-             'supporting-port': '1',
-             'supporting-interface': 'XPDR1-NETWORK1-OTU'},
-            res['interface'][0])
-        self.assertDictContainsSubset(
-            {'rate': 'org-openroadm-otn-common-types:ODU4',
-             u'monitoring-mode': u'terminated'},
-            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        # the 2 following statements replace self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'XPDR1-NETWORK1-ODU',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
+                 'type': 'org-openroadm-interfaces:otnOdu',
+                 'supporting-port': '1',
+                 'supporting-interface': 'XPDR1-NETWORK1-OTU'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
+        self.assertDictEqual(
+            dict({
+                 'rate': 'org-openroadm-otn-common-types:ODU4',
+                 u'monitoring-mode': u'terminated'
+                 }, **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']
+        )
         self.assertDictEqual({u'exp-payload-type': u'07', u'payload-type': u'07'},
                              res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
 
@@ -347,12 +357,17 @@ class TransportPCERendererTesting(unittest.TestCase):
             "GET", url, headers=headers, auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertDictContainsSubset(
-            {'name': 'XPDR1-CLIENT1-ETHERNET', 'administrative-state': 'inService',
-             'supporting-circuit-pack-name': '1/0/1-PLUG-CLIENT',
-             'type': 'org-openroadm-interfaces:ethernetCsmacd',
-             'supporting-port': 'C1'},
-            res['interface'][0])
+        # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
+        self.assertDictEqual(
+            dict({
+                 'name': 'XPDR1-CLIENT1-ETHERNET',
+                 'administrative-state': 'inService',
+                 'supporting-circuit-pack-name': '1/0/1-PLUG-CLIENT',
+                 'type': 'org-openroadm-interfaces:ethernetCsmacd',
+                 'supporting-port': 'C1'
+                 }, **res['interface'][0]),
+            res['interface'][0]
+        )
         self.assertDictEqual(
             {u'fec': u'off', u'speed': 100000},
             res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])