Switch functional tests to RFC8040
[transportpce.git] / tests / transportpce_tests / 2.2.1 / test04_otn_topology.py
index 41b1f65b045ee05e4a54b79ab4afd9e7e87b6358..f7d9539926c3b47dae81320ad2c9aae86347a3c4 100644 (file)
@@ -49,94 +49,76 @@ class TransportPCEtesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201)
         time.sleep(10)
 
-        response = test_utils.get_netconf_oper_request("SPDR-SA1")
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        self.assertEqual(
-            res['node'][0]['netconf-node-topology:connection-status'],
-            'connected')
+        response = test_utils.check_device_connection("SPDR-SA1")
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertEqual(response['connection-status'], 'connected')
 
     def test_02_getClliNetwork(self):
-        response = test_utils.get_clli_net_request()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        logging.info(res)
-        self.assertEqual(res['network'][0]['node'][0]['node-id'], 'NodeSA')
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'], 'NodeSA')
+        response = test_utils.get_ietf_network_request('clli-network', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        logging.info(response)
+        self.assertEqual(response['network'][0]['node'][0]['node-id'], 'NodeSA')
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-clli-network:clli'], 'NodeSA')
 
     def test_03_getOpenRoadmNetwork(self):
-        response = test_utils.get_ordm_net_request()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        self.assertEqual(res['network'][0]['node'][0]['node-id'], 'SPDR-SA1')
-        self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['network-ref'], 'clli-network')
-        self.assertEqual(res['network'][0]['node'][0]['supporting-node'][0]['node-ref'], 'NodeSA')
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-common-network:node-type'], 'XPONDER')
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:model'], 'universal-switchponder')
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:vendor'], 'vendorA')
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-network:ip'], '1.2.3.4')
+        response = test_utils.get_ietf_network_request('openroadm-network', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertEqual(response['network'][0]['node'][0]['node-id'], 'SPDR-SA1')
+        self.assertEqual(response['network'][0]['node'][0]['supporting-node'][0]['network-ref'], 'clli-network')
+        self.assertEqual(response['network'][0]['node'][0]['supporting-node'][0]['node-ref'], 'NodeSA')
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-common-network:node-type'], 'XPONDER')
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-network:model'], 'universal-switchponder')
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-network:vendor'], 'vendorA')
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-network:ip'], '1.2.3.4')
 
     def test_04_getLinks_OpenroadmTopology(self):
-        response = test_utils.get_ordm_topo_request("")
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        # Tests related to links
-        self.assertNotIn('ietf-network-topology:link', res['network'][0])
+        response = test_utils.get_ietf_network_request('openroadm-topology', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertNotIn('ietf-network-topology:link', response['network'][0])
 
     def test_05_getNodes_OpenRoadmTopology(self):
         # pylint: disable=redundant-unittest-assert
-        response = test_utils.get_ordm_topo_request("")
-        res = response.json()
-        # Tests related to nodes
-        self.assertEqual(response.status_code, requests.codes.ok)
-        self.assertIn('node', res['network'][0])
-        if 'node' in res['network'][0]:
-            nbNode = len(res['network'][0]['node'])
-            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']
-                if nodeId not in listNode:
-                    self.assertFalse(True)
-                    continue
-                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
-                              res['network'][0]['node'][i]['supporting-node'])
-                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
-                              res['network'][0]['node'][i]['supporting-node'])
-                self.assertEqual(nodeType, 'XPONDER')
-                nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
-                client = 0
-                network = 0
-                for j in range(0, nbTps):
-                    tpType = (res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                 ['org-openroadm-common-network:tp-type'])
-                    if tpType == 'XPONDER-CLIENT':
-                        client += 1
-                    elif tpType == 'XPONDER-NETWORK':
-                        network += 1
-                self.assertTrue(client == 0)
-                if nodeId == 'SPDR-SA1-XPDR1' or nodeId == 'SPDR-SA1-XPDR3':
-                    self.assertTrue(network == 1)
-                else:
-                    # elif nodeId == 'SPDR-SA1-XPDR2':
-                    self.assertTrue(network == 4)
-                listNode.remove(nodeId)
-            self.assertEqual(len(listNode), 0)
+        response = test_utils.get_ietf_network_request('openroadm-topology', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertIn('node', response['network'][0])
+        self.assertEqual(len(response['network'][0]['node']), 3)
+        listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2', 'SPDR-SA1-XPDR3']
+        for node in response['network'][0]['node']:
+            self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'}, node['supporting-node'])
+            self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'}, node['supporting-node'])
+            nodeType = node['org-openroadm-common-network:node-type']
+            nodeId = node['node-id']
+            if nodeId not in listNode:
+                self.assertFalse(True)
+                continue
+            self.assertEqual(nodeType, 'XPONDER')
+            client = 0
+            network = 0
+            for tp in node['ietf-network-topology:termination-point']:
+                tpType = tp['org-openroadm-common-network:tp-type']
+                if tpType == 'XPONDER-CLIENT':
+                    client += 1
+                elif tpType == 'XPONDER-NETWORK':
+                    network += 1
+            self.assertTrue(client == 0)
+            if nodeId in ('SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR3'):
+                self.assertTrue(network == 1)
+            else:
+                # elif nodeId == 'SPDR-SA1-XPDR2':
+                self.assertTrue(network == 4)
+            listNode.remove(nodeId)
+        self.assertEqual(len(listNode), 0)
 
     def test_06_getLinks_OtnTopology(self):
-        response = test_utils.get_otn_topo_request()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        self.assertNotIn('ietf-network-topology:link', res['network'][0])
+        response = test_utils.get_ietf_network_request('otn-topology', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertNotIn('ietf-network-topology:link', response['network'][0])
 
     def test_07_getNodes_OtnTopology(self):
         # pylint: disable=redundant-unittest-assert
-        response = test_utils.get_otn_topo_request()
-        res = response.json()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        nbNode = len(res['network'][0]['node'])
-        self.assertEqual(nbNode, 3)
+        response = test_utils.get_ietf_network_request('otn-topology', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertEqual(len(response['network'][0]['node']), 3)
         listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2', 'SPDR-SA1-XPDR3']
         CHECK_LIST = {
             'SPDR-SA1-XPDR1': {
@@ -162,66 +144,51 @@ class TransportPCEtesting(unittest.TestCase):
                 'tp-unchecklist': []
             }
         }
-        for i in range(0, nbNode):
-            nodeId = res['network'][0]['node'][i]['node-id']
+        for node in response['network'][0]['node']:
+            nodeId = node['node-id']
             if nodeId in CHECK_LIST:
-                nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
-                self.assertEqual(nodeType, CHECK_LIST[nodeId]['node-type'])
+                self.assertEqual(node['org-openroadm-common-network:node-type'], CHECK_LIST[nodeId]['node-type'])
                 self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
-                              res['network'][0]['node'][i]['supporting-node'])
+                              node['supporting-node'])
                 self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': nodeId},
-                              res['network'][0]['node'][i]['supporting-node'])
+                              node['supporting-node'])
                 self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
-                              res['network'][0]['node'][i]['supporting-node'])
-                self.assertEqual(res['network'][0]['node'][i]
-                                    ['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'],
+                              node['supporting-node'])
+                self.assertEqual(node['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'],
                                  CHECK_LIST[nodeId]['xpdr-number'])
-                nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 client = 0
                 network = 0
-                for j in range(0, nbTps):
-                    tpType = (res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                 ['org-openroadm-common-network:tp-type'])
-                    tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
+                for tp in node['ietf-network-topology:termination-point']:
+                    tpType = tp['org-openroadm-common-network:tp-type']
+                    tpId = tp['tp-id']
                     if tpType == 'XPONDER-CLIENT':
                         client += 1
                         # pylint: disable=consider-using-f-string
                         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'])
+                        print("tp= {}".format(tp))
+                        # pylint: disable=line-too-long
+                        for capa in tp['org-openroadm-otn-network-topology:tp-supported-interfaces']['supported-interface-capability']:
+                            self.assertIn((capa['if-cap-type']), CHECK_LIST[nodeId]['port-types'])
                     elif tpType == 'XPONDER-NETWORK':
                         network += 1
-                        self.assertEqual((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']),
+                        self.assertEqual((tp['org-openroadm-otn-network-topology:tp-supported-interfaces']
+                                          ['supported-interface-capability'][0]['if-cap-type']),
                                          'org-openroadm-port-types:if-OCH-OTU4-ODU4')
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                             ['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes']
-                                             ['rate']),
+                        self.assertEqual((tp['org-openroadm-otn-network-topology:xpdr-tp-port-connection-attributes']
+                                          ['rate']),
                                          'org-openroadm-otn-common-types:ODU4')
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                             ['supporting-termination-point'][0]['network-ref']), 'openroadm-topology')
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                             ['supporting-termination-point'][0]['node-ref']), nodeId)
-                        self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                             ['supporting-termination-point'][0]['tp-ref']), tpId)
+                        self.assertEqual((tp['supporting-termination-point'][0]['network-ref']), 'openroadm-topology')
+                        self.assertEqual((tp['supporting-termination-point'][0]['node-ref']), nodeId)
+                        self.assertEqual((tp['supporting-termination-point'][0]['tp-ref']), tpId)
                 self.assertTrue(client == 4)
                 self.assertTrue(network == CHECK_LIST[nodeId]['network_nb'])
                 listNode.remove(nodeId)
-                nbNbl = len(res['network'][0]['node'][i]['org-openroadm-otn-network-topology:switching-pools']
-                            ['odu-switching-pools'][0]['non-blocking-list'])
-                self.assertEqual(nbNbl, CHECK_LIST[nodeId]['nbl_nb'])
-                for k in range(0, nbNbl):
-                    nbl = (res['network'][0]['node'][i]['org-openroadm-otn-network-topology:switching-pools']
-                              ['odu-switching-pools'][0]['non-blocking-list'][k])
+                self.assertEqual(
+                    len(node['org-openroadm-otn-network-topology:switching-pools']
+                        ['odu-switching-pools'][0]['non-blocking-list']),
+                    CHECK_LIST[nodeId]['nbl_nb'])
+                # pylint: disable=line-too-long
+                for nbl in node['org-openroadm-otn-network-topology:switching-pools']['odu-switching-pools'][0]['non-blocking-list']:
                     if nbl['nbl-number'] == 1:
                         if nodeId == 'SPDR-SA1-XPDR1':
                             self.assertEqual(nbl['available-interconnect-bandwidth'], 10)
@@ -237,31 +204,26 @@ class TransportPCEtesting(unittest.TestCase):
 
     def test_08_disconnect_SPDR_SA1(self):
         response = test_utils.unmount_device("SPDR-SA1")
-        self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
+        self.assertIn(response.status_code, (requests.codes.ok, requests.codes.no_content))
 
     def test_09_getClliNetwork(self):
-        response = test_utils.get_clli_net_request()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        nbNode = len(res['network'][0]['node'])
-        self.assertEqual(nbNode, 1)
-        self.assertEqual(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'], 'NodeSA')
+        response = test_utils.get_ietf_network_request('clli-network', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertEqual(len(response['network'][0]['node']), 1)
+        self.assertEqual(response['network'][0]['node'][0]['org-openroadm-clli-network:clli'], 'NodeSA')
 
     def test_10_getOpenRoadmNetwork(self):
-        response = test_utils.get_ordm_net_request()
-        self.assertEqual(response.status_code, requests.codes.ok)
-        res = response.json()
-        self.assertNotIn('node', res['network'][0])
+        response = test_utils.get_ietf_network_request('openroadm-network', 'config')
+        self.assertEqual(response['status_code'], requests.codes.ok)
+        self.assertNotIn('node', response['network'][0])
 
     def test_11_getNodes_OpenRoadmTopology(self):
-        response = test_utils.get_ordm_topo_request("")
-        res = response.json()
-        self.assertNotIn('node', res['network'][0])
+        response = test_utils.get_ietf_network_request('openroadm-topology', 'config')
+        self.assertNotIn('node', response['network'][0])
 
     def test_12_getNodes_OtnTopology(self):
-        response = test_utils.get_otn_topo_request()
-        res = response.json()
-        self.assertNotIn('node', res['network'][0])
+        response = test_utils.get_ietf_network_request('otn-topology', 'config')
+        self.assertNotIn('node', response['network'][0])
 
 
 if __name__ == "__main__":