Port capabilities handling in OTN topology
[transportpce.git] / tests / transportpce_tests / 2.2.1 / test_otn_topology.py
index f80c12d514d778a534dd6316985421621a861af9..fd80a5c75fac3c613c23de63201f0c5b6149a164 100644 (file)
@@ -86,8 +86,8 @@ class TransportPCEtesting(unittest.TestCase):
         self.assertIn('node', res['network'][0])
         if 'node' in res['network'][0]:
             nbNode = len(res['network'][0]['node'])
-            self.assertEqual(nbNode, 2)
-            listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2']
+            self.assertEqual(nbNode, 3)
+            listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2', 'SPDR-SA1-XPDR3']
             for i in range(0, nbNode):
                 nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
                 nodeId = res['network'][0]['node'][i]['node-id']
@@ -110,7 +110,7 @@ class TransportPCEtesting(unittest.TestCase):
                     elif tpType == 'XPONDER-NETWORK':
                         network += 1
                 self.assertTrue(client == 0)
-                if nodeId == 'SPDR-SA1-XPDR1':
+                if nodeId == 'SPDR-SA1-XPDR1' or nodeId == 'SPDR-SA1-XPDR3':
                     self.assertTrue(network == 1)
                 else:
                     # elif nodeId == 'SPDR-SA1-XPDR2':
@@ -130,13 +130,14 @@ class TransportPCEtesting(unittest.TestCase):
         res = response.json()
         self.assertEqual(response.status_code, requests.codes.ok)
         nbNode = len(res['network'][0]['node'])
-        self.assertEqual(nbNode, 2)
-        listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2']
+        self.assertEqual(nbNode, 3)
+        listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2', 'SPDR-SA1-XPDR3']
         CHECK_LIST = {
             'SPDR-SA1-XPDR1': {
                 'node-type': 'MUXPDR',
                 'xpdr-number': 1,
-                'port-types': 'org-openroadm-port-types:if-10GE-ODU2e',
+                'port-types': ['org-openroadm-port-types:if-10GE-ODU2', 'org-openroadm-port-types:if-10GE-ODU2e',
+                               'org-openroadm-port-types:if-10GE'],
                 'otn-common-types': 'org-openroadm-otn-common-types:ODU2e',
                 'network_nb': 1,
                 'nbl_nb': 4,
@@ -178,14 +179,16 @@ class TransportPCEtesting(unittest.TestCase):
                     tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
                     if tpType == 'XPONDER-CLIENT':
                         client += 1
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
+                        print("tpId = {}".format(tpId))
+                        print("tp= {}".format(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]))
+                        nbIfCapType = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
+                                 ['org-openroadm-otn-network-topology:tp-supported-interfaces']
+                                 ['supported-interface-capability'][0])
+                        for k in range(0, nbIfCapType):
+                            self.assertIn((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
                                              ['org-openroadm-otn-network-topology:tp-supported-interfaces']
                                              ['supported-interface-capability'][0]['if-cap-type']),
-                                         CHECK_LIST[nodeId]['port-types'])
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                             ['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes']
-                                             ['rate']),
-                                         CHECK_LIST[nodeId]['otn-common-types'])
+                                           CHECK_LIST[nodeId]['port-types'])
                     elif tpType == 'XPONDER-NETWORK':
                         network += 1
                         self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
@@ -220,7 +223,8 @@ class TransportPCEtesting(unittest.TestCase):
                         for tp in CHECK_LIST[nodeId]['tp-unchecklist']:
                             self.assertNotIn(tp, nbl['tp-list'])
             else:
-                self.assertFalse(True)
+                self.assertEqual('SPDR-SA1-XPDR3', nodeId)
+                listNode.remove(nodeId)
         self.assertEqual(len(listNode), 0)
 
     def test_08_disconnect_SPDR_SA1(self):