From 5d2ef1e86b227d0170d00d84fbd25d1ed1364623 Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Wed, 9 Sep 2020 12:06:26 +0200 Subject: [PATCH] use dict instead of many elif in functional tests and add some forgotten tests in topology tests JIRA: TRNSPRTPCE-320 Signed-off-by: guillaume.lambert Change-Id: Ic0d0e00931527ecf421914fd3bf2048504758f49 (cherry picked from commit 868e64eafd77ca3e0238a41cb0c062fd777b9564) --- .../transportpce_tests/1.2.1/test_topology.py | 605 ++++++----------- .../2.2.1/test_otn_topology.py | 175 ++--- .../transportpce_tests/2.2.1/test_topology.py | 608 ++++++------------ 3 files changed, 463 insertions(+), 925 deletions(-) diff --git a/tests/transportpce_tests/1.2.1/test_topology.py b/tests/transportpce_tests/1.2.1/test_topology.py index e088b6d7f..c079fcd13 100644 --- a/tests/transportpce_tests/1.2.1/test_topology.py +++ b/tests/transportpce_tests/1.2.1/test_topology.py @@ -22,6 +22,45 @@ from common import test_utils class TransportPCETopologyTesting(unittest.TestCase): processes = None + CHECK_DICT1 = { + 'ROADMA01-SRG1': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADMA01-SRG3': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADMA01-DEG1': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + }, + 'ROADMA01-DEG2': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + } + } + CHECK_DICT2 = { + 'ROADMC01-SRG1': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADMC01-DEG1': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + }, + 'ROADMC01-DEG2': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + } + } @classmethod def setUpClass(cls): @@ -67,38 +106,28 @@ class TransportPCETopologyTesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 10) - expressLink = ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'] + } for i in range(0, nbLink): linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'EXPRESS-LINK'): - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'ADD-LINK'): - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'DROP-LINK'): - find = linkId in dropLink + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_05_getNodes_OpenRoadmTopology(self): # pylint: disable=redundant-unittest-assert @@ -114,51 +143,12 @@ class TransportPCETopologyTesting(unittest.TestCase): res['network'][0]['node'][i]['supporting-node']) nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'ROADMA01-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - elif nodeId == 'ROADMA01-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + if nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, @@ -166,6 +156,7 @@ class TransportPCETopologyTesting(unittest.TestCase): listNode.remove(nodeId) else: self.assertFalse(True) + self.assertEqual(len(listNode), 0) def test_06_connect_XPDRA(self): @@ -238,45 +229,15 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertTrue(client == 4) self.assertTrue(network == 2) listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) @@ -305,48 +266,30 @@ class TransportPCETopologyTesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 12) - expressLink = ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'] - XPDR_IN = ['ROADMA01-SRG1-SRG1-PP1-TXRXtoXPDRA01-XPDR1-XPDR1-NETWORK1'] - XPDR_OUT = ['XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'], + 'XPONDER-INPUT': ['ROADMA01-SRG1-SRG1-PP1-TXRXtoXPDRA01-XPDR1-XPDR1-NETWORK1'], + 'XPONDER-OUTPUT': ['XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX'] + } for i in range(0, nbLink): - nodeType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if nodeType == 'EXPRESS-LINK': - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif nodeType == 'ADD-LINK': - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif nodeType == 'DROP-LINK': - find = linkId in dropLink + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(linkId) - elif nodeType == 'XPONDER-INPUT': - find = linkId in XPDR_IN - self.assertEqual(find, True) - XPDR_IN.remove(linkId) - elif nodeType == 'XPONDER-OUTPUT': - find = linkId in XPDR_OUT - self.assertEqual(find, True) - XPDR_OUT.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) - self.assertEqual(len(XPDR_IN), 0) - self.assertEqual(len(XPDR_OUT), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_13_connect_ROADMC(self): response = test_utils.mount_device("ROADMC01", 'roadmc') @@ -379,6 +322,7 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.created) def test_16_getClliNetwork(self): + # pylint: disable=redundant-unittest-assert response = test_utils.get_clli_net_request() self.assertEqual(response.status_code, requests.codes.ok) res = response.json() @@ -386,14 +330,11 @@ class TransportPCETopologyTesting(unittest.TestCase): listNode = ['NodeA', 'NodeC'] for i in range(0, nbNode): nodeId = res['network'][0]['node'][i]['node-id'] - find = nodeId in listNode - self.assertEqual(find, True) - if nodeId == 'NodeA': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeA') + if nodeId in listNode: + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], nodeId) + listNode.remove(nodeId) else: - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeC') - listNode.remove(nodeId) - + self.assertFalse(True) self.assertEqual(len(listNode), 0) def test_17_getOpenRoadmNetwork(self): @@ -404,23 +345,20 @@ class TransportPCETopologyTesting(unittest.TestCase): nbNode = len(res['network'][0]['node']) self.assertEqual(nbNode, 3) listNode = ['XPDRA01', 'ROADMA01', 'ROADMC01'] + CHECK_LIST = {'XPDRA01': {'node-ref': 'NodeA', 'node-type': 'XPONDER', 'model': '1'}, + 'ROADMA01': {'node-ref': 'NodeA', 'node-type': 'ROADM', 'model': '2'}, + 'ROADMC01': {'node-ref': 'NodeC', 'node-type': 'ROADM', 'model': '2'} + } for i in range(0, nbNode): self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['network-ref'], 'clli-network') nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'XPDRA01': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeA') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'XPONDER') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], '1') - listNode.remove(nodeId) - elif nodeId == 'ROADMA01': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeA') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'ROADM') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], '2') - listNode.remove(nodeId) - elif nodeId == 'ROADMC01': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeC') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'ROADM') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], '2') + if nodeId in CHECK_LIST: + self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], + CHECK_LIST[nodeId]['node-ref']) + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + CHECK_LIST[nodeId]['node-type']) + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], + CHECK_LIST[nodeId]['model']) listNode.remove(nodeId) else: self.assertFalse(True) @@ -434,61 +372,38 @@ class TransportPCETopologyTesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 20) - expressLink = ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMC01-DEG2-DEG2-CTP-TXRXtoROADMC01-DEG1-DEG1-CTP-TXRX', - 'ROADMC01-DEG1-DEG1-CTP-TXRXtoROADMC01-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMC01-SRG1-SRG1-CP-TXRXtoROADMC01-DEG2-DEG2-CTP-TXRX', - 'ROADMC01-SRG1-SRG1-CP-TXRXtoROADMC01-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', - 'ROADMC01-DEG1-DEG1-CTP-TXRXtoROADMC01-SRG1-SRG1-CP-TXRX', - 'ROADMC01-DEG2-DEG2-CTP-TXRXtoROADMC01-SRG1-SRG1-CP-TXRX'] - R2RLink = ['ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX', - 'ROADMC01-DEG2-DEG2-TTP-TXRXtoROADMA01-DEG1-DEG1-TTP-TXRX'] - XPDR_IN = ['ROADMA01-SRG1-SRG1-PP1-TXRXtoXPDRA01-XPDR1-XPDR1-NETWORK1'] - XPDR_OUT = ['XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMC01-DEG2-DEG2-CTP-TXRXtoROADMC01-DEG1-DEG1-CTP-TXRX', + 'ROADMC01-DEG1-DEG1-CTP-TXRXtoROADMC01-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMC01-SRG1-SRG1-CP-TXRXtoROADMC01-DEG2-DEG2-CTP-TXRX', + 'ROADMC01-SRG1-SRG1-CP-TXRXtoROADMC01-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', + 'ROADMC01-DEG1-DEG1-CTP-TXRXtoROADMC01-SRG1-SRG1-CP-TXRX', + 'ROADMC01-DEG2-DEG2-CTP-TXRXtoROADMC01-SRG1-SRG1-CP-TXRX'], + 'ROADM-TO-ROADM': ['ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX', + 'ROADMC01-DEG2-DEG2-TTP-TXRXtoROADMA01-DEG1-DEG1-TTP-TXRX'], + 'XPONDER-INPUT': ['ROADMA01-SRG1-SRG1-PP1-TXRXtoXPDRA01-XPDR1-XPDR1-NETWORK1'], + 'XPONDER-OUTPUT': ['XPDRA01-XPDR1-XPDR1-NETWORK1toROADMA01-SRG1-SRG1-PP1-TXRX'] + } for i in range(0, nbLink): - nodeType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if nodeType == 'EXPRESS-LINK': - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif nodeType == 'ADD-LINK': - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif nodeType == 'DROP-LINK': - find = linkId in dropLink - self.assertEqual(find, True) - dropLink.remove(linkId) - elif nodeType == 'ROADM-TO-ROADM': - find = linkId in R2RLink - self.assertEqual(find, True) - R2RLink.remove(linkId) - elif nodeType == 'XPONDER-INPUT': - find = linkId in XPDR_IN - self.assertEqual(find, True) - XPDR_IN.remove(linkId) - elif nodeType == 'XPONDER-OUTPUT': - find = linkId in XPDR_OUT + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - XPDR_OUT.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) - self.assertEqual(len(R2RLink), 0) - self.assertEqual(len(XPDR_IN), 0) - self.assertEqual(len(XPDR_OUT), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_19_getLinkOmsAttributesOpenRoadmTopology(self): response = test_utils.get_ordm_topo_request("") @@ -525,10 +440,10 @@ class TransportPCETopologyTesting(unittest.TestCase): listNode = ['XPDRA01-XPDR1', 'ROADMA01-SRG1', 'ROADMA01-SRG3', 'ROADMA01-DEG1', 'ROADMA01-DEG2', 'ROADMC01-SRG1', 'ROADMC01-DEG1', 'ROADMC01-DEG2'] - # ************************Tests related to XPDRA nodes 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'] + # Tests related to XPDRA nodes if nodeId == 'XPDRA01-XPDR1': self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA01'}, res['network'][0]['node'][i]['supporting-node']) @@ -547,78 +462,33 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertTrue(client == 4) self.assertTrue(network == 2) listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG1': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG3': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG1': - # Test related to DEG1 - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG2': - # Test related to DEG2 - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - elif nodeId == 'ROADMC01-SRG1': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC01'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + self.CHECK_DICT1[nodeId]['node_type']) listNode.remove(nodeId) - elif nodeId == 'ROADMC01-DEG1': - # Test related to DEG1 - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC01'}, + # Tests related to ROADMC nodes + elif nodeId in self.CHECK_DICT2: + self.assertEqual(nodeType, self.CHECK_DICT2[nodeId]['node_type']) + if self.CHECK_DICT2[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT2[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeC'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - elif nodeId == 'ROADMC01-DEG2': - # Test related to DEG2 - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMC01'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + self.CHECK_DICT2[nodeId]['node_type']) listNode.remove(nodeId) else: self.assertFalse(True) @@ -681,6 +551,7 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.created) def test_26_getClliNetwork(self): + # pylint: disable=redundant-unittest-assert response = test_utils.get_clli_net_request() self.assertEqual(response.status_code, requests.codes.ok) res = response.json() @@ -688,15 +559,11 @@ class TransportPCETopologyTesting(unittest.TestCase): listNode = ['NodeA', 'NodeB', 'NodeC'] for i in range(0, nbNode): nodeId = res['network'][0]['node'][i]['node-id'] - find = nodeId in listNode - self.assertEqual(find, True) - if nodeId == 'NodeA': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeA') - elif nodeId == 'NodeB': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeB') + if nodeId in listNode: + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], nodeId) + listNode.remove(nodeId) else: - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeC') - listNode.remove(nodeId) + self.assertFalse(True) self.assertEqual(len(listNode), 0) def test_27_verifyDegree(self): @@ -743,18 +610,11 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['source']['source-node'], link_dest) self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['destination']['dest-node'], link_src) oppLink_type = res_oppLink['ietf-network-topology:link'][0]['org-openroadm-common-network:link-type'] - if link_type == 'ADD-LINK': - self.assertEqual(oppLink_type, 'DROP-LINK') - elif link_type == 'DROP-LINK': - self.assertEqual(oppLink_type, 'ADD-LINK') - elif link_type == 'EXPRESS-LINK': - self.assertEqual(oppLink_type, 'EXPRESS-LINK') - elif link_type == 'ROADM-TO-ROADM': - self.assertEqual(oppLink_type, 'ROADM-TO-ROADM') - elif link_type == 'XPONDER-INPUT': - self.assertEqual(oppLink_type, 'XPONDER-OUTPUT') - elif link_type == 'XPONDER-OUTPUT': - self.assertEqual(oppLink_type, 'XPONDER-INPUT') + CHECK_DICT = {'ADD-LINK': 'DROP-LINK', 'DROP-LINK': 'ADD-LINK', + 'EXPRESS-LINK': 'EXPRESS-LINK', 'ROADM-TO-ROADM': 'ROADM-TO-ROADM', + 'XPONDER-INPUT': 'XPONDER-OUTPUT', 'XPONDER-OUTUT': 'XPONDER-INPUT'} + if link_type in CHECK_DICT: + self.assertEqual(oppLink_type, CHECK_DICT[link_type]) def test_29_getLinkOmsAttributesOpenRoadmTopology(self): response = test_utils.get_ordm_topo_request("") @@ -826,45 +686,15 @@ class TransportPCETopologyTesting(unittest.TestCase): self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA01'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) @@ -931,39 +761,16 @@ class TransportPCETopologyTesting(unittest.TestCase): res['network'][0]['node'][i]['supporting-node']) nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'ROADMA01-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADMA01-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + if nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 17) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, + res['network'][0]['node'][i]['supporting-node']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'}, + res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) else: self.assertFalse(True) @@ -983,41 +790,29 @@ class TransportPCETopologyTesting(unittest.TestCase): res = response.json() nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 16) - expressLink = ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', - 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', - 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', - 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG1-SRG1-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX', + 'ROADMA01-SRG3-SRG3-CP-TXRXtoROADMA01-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG1-SRG1-CP-TXRX', + 'ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX', + 'ROADMA01-DEG2-DEG2-CTP-TXRXtoROADMA01-SRG3-SRG3-CP-TXRX'] + } roadmtoroadmLink = 0 for i in range(0, nbLink): - if (res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] - == 'EXPRESS-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in expressLink - self.assertEqual(find, True) - expressLink.remove(link_id) - elif (res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] - == 'ADD-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in addLink - self.assertEqual(find, True) - addLink.remove(link_id) - elif (res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] - == 'DROP-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in dropLink + linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(link_id) + (check_list[linkType]).remove(linkId) else: roadmtoroadmLink += 1 - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) self.assertEqual(roadmtoroadmLink, 6) for i in range(0, nbLink): self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i] diff --git a/tests/transportpce_tests/2.2.1/test_otn_topology.py b/tests/transportpce_tests/2.2.1/test_otn_topology.py index bc2c28a90..f80c12d51 100644 --- a/tests/transportpce_tests/2.2.1/test_otn_topology.py +++ b/tests/transportpce_tests/2.2.1/test_otn_topology.py @@ -91,46 +91,31 @@ class TransportPCEtesting(unittest.TestCase): 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': - 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) self.assertTrue(network == 1) - listNode.remove(nodeId) - elif nodeId == 'SPDR-SA1-XPDR2': - 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) - self.assertTrue(network == 4) - listNode.remove(nodeId) else: - self.assertFalse(True) + # elif nodeId == 'SPDR-SA1-XPDR2': + self.assertTrue(network == 4) + listNode.remove(nodeId) self.assertEqual(len(listNode), 0) def test_06_getLinks_OtnTopology(self): @@ -147,19 +132,43 @@ class TransportPCEtesting(unittest.TestCase): nbNode = len(res['network'][0]['node']) self.assertEqual(nbNode, 2) listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2'] + CHECK_LIST = { + 'SPDR-SA1-XPDR1': { + 'node-type': 'MUXPDR', + 'xpdr-number': 1, + 'port-types': 'org-openroadm-port-types:if-10GE-ODU2e', + 'otn-common-types': 'org-openroadm-otn-common-types:ODU2e', + 'network_nb': 1, + 'nbl_nb': 4, + 'tp-checklist': ['XPDR1-NETWORK1', 'XPDR1-CLIENT1'], + 'tp-unchecklist': ['XPDR1-CLIENT2'] + }, + 'SPDR-SA1-XPDR2': { + 'node-type': 'SWITCH', + 'xpdr-number': 2, + 'port-types': 'org-openroadm-port-types:if-100GE-ODU4', + 'otn-common-types': 'org-openroadm-otn-common-types:ODU4', + 'network_nb': 4, + 'nbl_nb': 1, + 'tp-checklist': ['XPDR2-NETWORK4', 'XPDR2-CLIENT1', 'XPDR2-NETWORK3', 'XPDR2-CLIENT4', + 'XPDR2-CLIENT2', 'XPDR2-NETWORK2', 'XPDR2-CLIENT3', 'XPDR2-NETWORK1'], + 'tp-unchecklist': [] + } + } for i in range(0, nbNode): nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'SPDR-SA1-XPDR1': + if nodeId in CHECK_LIST: nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] - self.assertEqual(nodeType, 'MUXPDR') + self.assertEqual(nodeType, CHECK_LIST[nodeId]['node-type']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'}, res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': 'SPDR-SA1-XPDR1'}, + self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': nodeId}, 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(res['network'][0]['node'][i] - ['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'], 1) + ['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 @@ -172,11 +181,11 @@ class TransportPCEtesting(unittest.TestCase): 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']), - 'org-openroadm-port-types:if-10GE-ODU2e') + 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']), - 'org-openroadm-otn-common-types:ODU2e') + CHECK_LIST[nodeId]['otn-common-types']) elif tpType == 'XPONDER-NETWORK': network += 1 self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j] @@ -190,84 +199,26 @@ class TransportPCEtesting(unittest.TestCase): 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']), 'SPDR-SA1-XPDR1') + ['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']), 'XPDR1-NETWORK1') + ['supporting-termination-point'][0]['tp-ref']), tpId) self.assertTrue(client == 4) - self.assertTrue(network == 1) + 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, 4) + 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]) if nbl['nbl-number'] == 1: - self.assertEqual(nbl['available-interconnect-bandwidth'], 10) - self.assertEqual(nbl['interconnect-bandwidth-unit'], 1000000000) - self.assertIn('XPDR1-NETWORK1', nbl['tp-list']) - self.assertIn('XPDR1-CLIENT1', nbl['tp-list']) - self.assertNotIn('XPDR1-CLIENT2', nbl['tp-list']) - elif nodeId == 'SPDR-SA1-XPDR2': - nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] - self.assertEqual(nodeType, 'SWITCH') - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': 'SPDR-SA1-XPDR2'}, - 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(res['network'][0]['node'][i] - ['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'], 2) - 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'] - if tpType == 'XPONDER-CLIENT': - client += 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']), - 'org-openroadm-port-types:if-100GE-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']), - 'org-openroadm-otn-common-types:ODU4') - 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']), - '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']), - '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']), 'SPDR-SA1-XPDR2') - self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j] - ['supporting-termination-point'][0]['tp-ref']), tpId) - self.assertTrue(client == 4) - self.assertTrue(network == 4) - 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, 1) - nbl = (res['network'][0]['node'][i]['org-openroadm-otn-network-topology:switching-pools'] - ['odu-switching-pools'][0]['non-blocking-list'][0]) - self.assertIn('XPDR2-NETWORK1', nbl['tp-list']) - self.assertIn('XPDR2-CLIENT1', nbl['tp-list']) - self.assertIn('XPDR2-NETWORK2', nbl['tp-list']) - self.assertIn('XPDR2-CLIENT2', nbl['tp-list']) - self.assertIn('XPDR2-NETWORK3', nbl['tp-list']) - self.assertIn('XPDR2-CLIENT3', nbl['tp-list']) - self.assertIn('XPDR2-NETWORK4', nbl['tp-list']) - self.assertIn('XPDR2-CLIENT4', nbl['tp-list']) + if nodeId == 'SPDR-SA1-XPDR1': + self.assertEqual(nbl['available-interconnect-bandwidth'], 10) + self.assertEqual(nbl['interconnect-bandwidth-unit'], 1000000000) + for tp in CHECK_LIST[nodeId]['tp-checklist']: + self.assertIn(tp, nbl['tp-list']) + for tp in CHECK_LIST[nodeId]['tp-unchecklist']: + self.assertNotIn(tp, nbl['tp-list']) else: self.assertFalse(True) self.assertEqual(len(listNode), 0) diff --git a/tests/transportpce_tests/2.2.1/test_topology.py b/tests/transportpce_tests/2.2.1/test_topology.py index 6c755aaa9..b9969c7b2 100644 --- a/tests/transportpce_tests/2.2.1/test_topology.py +++ b/tests/transportpce_tests/2.2.1/test_topology.py @@ -23,6 +23,45 @@ from common import test_utils class TransportPCEtesting(unittest.TestCase): processes = None + CHECK_DICT1 = { + 'ROADM-A1-SRG1': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADM-A1-SRG3': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADM-A1-DEG1': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + }, + 'ROADM-A1-DEG2': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + } + } + CHECK_DICT2 = { + 'ROADM-C1-SRG1': { + 'node_type': 'SRG', + 'checks_tp': [({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}), + ({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'})] + }, + 'ROADM-C1-DEG1': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + }, + 'ROADM-C1-DEG2': { + 'node_type': 'DEGREE', + 'checks_tp': [({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}), + ({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'})] + } + } @classmethod def setUpClass(cls): @@ -69,38 +108,28 @@ class TransportPCEtesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 10) - expressLink = ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'] + } for i in range(0, nbLink): linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'EXPRESS-LINK'): - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'ADD-LINK'): - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'DROP-LINK'): - find = linkId in dropLink + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_05_getNodes_OpenRoadmTopology(self): # pylint: disable=redundant-unittest-assert @@ -116,51 +145,12 @@ class TransportPCEtesting(unittest.TestCase): res['network'][0]['node'][i]['supporting-node']) nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'ROADM-A1-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + if nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, @@ -194,12 +184,12 @@ class TransportPCEtesting(unittest.TestCase): nodeId = res['network'][0]['node'][i]['node-id'] if nodeId == 'XPDR-A1': self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'XPONDER') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') elif nodeId == 'ROADM-A1': self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'ROADM') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') else: self.assertFalse(True) + continue + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') def test_09_getNodes_OpenRoadmTopology(self): # pylint: disable=redundant-unittest-assert @@ -241,45 +231,14 @@ class TransportPCEtesting(unittest.TestCase): self.assertTrue(client == 2) self.assertTrue(network == 2) listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) @@ -307,48 +266,30 @@ class TransportPCEtesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 12) - expressLink = ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'] - XPDR_IN = ['ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1'] - XPDR_OUT = ['XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'], + 'XPONDER-INPUT': ['ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1'], + 'XPONDER-OUTPUT': ['XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX'] + } for i in range(0, nbLink): - nodeType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if nodeType == 'EXPRESS-LINK': - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif nodeType == 'ADD-LINK': - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif nodeType == 'DROP-LINK': - find = linkId in dropLink + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(linkId) - elif nodeType == 'XPONDER-INPUT': - find = linkId in XPDR_IN - self.assertEqual(find, True) - XPDR_IN.remove(linkId) - elif nodeType == 'XPONDER-OUTPUT': - find = linkId in XPDR_OUT - self.assertEqual(find, True) - XPDR_OUT.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) - self.assertEqual(len(XPDR_IN), 0) - self.assertEqual(len(XPDR_OUT), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_13_connect_ROADMC(self): response = test_utils.mount_device("ROADM-C1", 'roadmc') @@ -382,6 +323,7 @@ class TransportPCEtesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.created) def test_16_getClliNetwork(self): + # pylint: disable=redundant-unittest-assert response = test_utils.get_clli_net_request() self.assertEqual(response.status_code, requests.codes.ok) res = response.json() @@ -389,13 +331,11 @@ class TransportPCEtesting(unittest.TestCase): listNode = ['NodeA', 'NodeC'] for i in range(0, nbNode): nodeId = res['network'][0]['node'][i]['node-id'] - find = nodeId in listNode - self.assertEqual(find, True) - if nodeId == 'NodeA': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeA') + if nodeId in listNode: + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], nodeId) + listNode.remove(nodeId) else: - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeC') - listNode.remove(nodeId) + self.assertFalse(True) self.assertEqual(len(listNode), 0) def test_17_getOpenRoadmNetwork(self): @@ -406,26 +346,23 @@ class TransportPCEtesting(unittest.TestCase): nbNode = len(res['network'][0]['node']) self.assertEqual(nbNode, 3) listNode = ['XPDR-A1', 'ROADM-A1', 'ROADM-C1'] + CHECK_LIST = {'XPDR-A1': {'node-ref': 'NodeA', 'node-type': 'XPONDER'}, + 'ROADM-A1': {'node-ref': 'NodeA', 'node-type': 'ROADM'}, + 'ROADM-C1': {'node-ref': 'NodeC', 'node-type': 'ROADM'} + } for i in range(0, nbNode): self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['network-ref'], 'clli-network') nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'XPDR-A1': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeA') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'XPONDER') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeA') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'ROADM') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') - listNode.remove(nodeId) - elif nodeId == 'ROADM-C1': - self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], 'NodeC') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'ROADM') - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') + if nodeId in CHECK_LIST: + self.assertEqual(res['network'][0]['node'][i]['supporting-node'][0]['node-ref'], + CHECK_LIST[nodeId]['node-ref']) + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + CHECK_LIST[nodeId]['node-type']) listNode.remove(nodeId) else: self.assertFalse(True) + continue + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-network:model'], 'model2') self.assertEqual(len(listNode), 0) def test_18_getROADMLinkOpenRoadmTopology(self): @@ -436,61 +373,38 @@ class TransportPCEtesting(unittest.TestCase): # Tests related to links nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 20) - expressLink = ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX', - 'ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX', - 'ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', - 'ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX', - 'ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX'] - R2RLink = ['ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX', - 'ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX'] - XPDR_IN = ['ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1'] - XPDR_OUT = ['XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX', + 'ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX', + 'ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', + 'ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX', + 'ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX'], + 'ROADM-TO-ROADM': ['ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX', + 'ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX'], + 'XPONDER-INPUT': ['ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1'], + 'XPONDER-OUTPUT': ['XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX'] + } for i in range(0, nbLink): - nodeType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - if nodeType == 'EXPRESS-LINK': - find = linkId in expressLink - self.assertEqual(find, True) - expressLink.remove(linkId) - elif nodeType == 'ADD-LINK': - find = linkId in addLink - self.assertEqual(find, True) - addLink.remove(linkId) - elif nodeType == 'DROP-LINK': - find = linkId in dropLink - self.assertEqual(find, True) - dropLink.remove(linkId) - elif nodeType == 'ROADM-TO-ROADM': - find = linkId in R2RLink + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - R2RLink.remove(linkId) - elif nodeType == 'XPONDER-INPUT': - find = linkId in XPDR_IN - self.assertEqual(find, True) - XPDR_IN.remove(linkId) - elif nodeType == 'XPONDER-OUTPUT': - find = linkId in XPDR_OUT - self.assertEqual(find, True) - XPDR_OUT.remove(linkId) + (check_list[linkType]).remove(linkId) else: self.assertFalse(True) - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) - self.assertEqual(len(R2RLink), 0) - self.assertEqual(len(XPDR_IN), 0) - self.assertEqual(len(XPDR_OUT), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) def test_19_getLinkOmsAttributesOpenRoadmTopology(self): response = test_utils.get_ordm_topo_request("") @@ -526,7 +440,7 @@ class TransportPCEtesting(unittest.TestCase): listNode = ['XPDR-A1-XPDR1', 'ROADM-A1-SRG1', 'ROADM-A1-SRG3', 'ROADM-A1-DEG1', 'ROADM-A1-DEG2', 'ROADM-C1-SRG1', 'ROADM-C1-DEG1', 'ROADM-C1-DEG2'] - # ************************Tests related to XPDRA nodes + # Tests related to XPDRA nodes 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'] @@ -548,81 +462,34 @@ class TransportPCEtesting(unittest.TestCase): self.assertTrue(client == 2) self.assertTrue(network == 2) listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG1': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG3': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG1': - # Test related to DEG1 - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + self.CHECK_DICT1[nodeId]['node_type']) listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG2': - # Test related to DEG2 - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT2: + self.assertEqual(nodeType, self.CHECK_DICT2[nodeId]['node_type']) + if self.CHECK_DICT2[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT2[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeC'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - elif nodeId == 'ROADM-C1-SRG1': - # Test related to SRG1 - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-C1'}, res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'SRG') + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], + self.CHECK_DICT2[nodeId]['node_type']) listNode.remove(nodeId) - elif nodeId == 'ROADM-C1-DEG1': - # Test related to DEG1 - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-C1'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - elif nodeId == 'ROADM-C1-DEG2': - # Test related to DEG1 - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-C1'}, - res['network'][0]['node'][i]['supporting-node']) - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-common-network:node-type'], 'DEGREE') - listNode.remove(nodeId) - else: - self.assertFalse(True) self.assertEqual(len(listNode), 0) def test_21_connect_ROADMB(self): @@ -688,6 +555,7 @@ class TransportPCEtesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.created) def test_26_getClliNetwork(self): + # pylint: disable=redundant-unittest-assert response = test_utils.get_clli_net_request() self.assertEqual(response.status_code, requests.codes.ok) res = response.json() @@ -695,15 +563,11 @@ class TransportPCEtesting(unittest.TestCase): listNode = ['NodeA', 'NodeB', 'NodeC'] for i in range(0, nbNode): nodeId = res['network'][0]['node'][i]['node-id'] - find = nodeId in listNode - self.assertEqual(find, True) - if nodeId == 'NodeA': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeA') - elif nodeId == 'NodeB': - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeB') + if nodeId in listNode: + self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], nodeId) + listNode.remove(nodeId) else: - self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'], 'NodeC') - listNode.remove(nodeId) + self.assertFalse(True) self.assertEqual(len(listNode), 0) def test_27_verifyDegree(self): @@ -750,18 +614,11 @@ class TransportPCEtesting(unittest.TestCase): self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['source']['source-node'], link_dest) self.assertEqual(res_oppLink['ietf-network-topology:link'][0]['destination']['dest-node'], link_src) oppLink_type = res_oppLink['ietf-network-topology:link'][0]['org-openroadm-common-network:link-type'] - if link_type == 'ADD-LINK': - self.assertEqual(oppLink_type, 'DROP-LINK') - elif link_type == 'DROP-LINK': - self.assertEqual(oppLink_type, 'ADD-LINK') - elif link_type == 'EXPRESS-LINK': - self.assertEqual(oppLink_type, 'EXPRESS-LINK') - elif link_type == 'ROADM-TO-ROADM': - self.assertEqual(oppLink_type, 'ROADM-TO-ROADM') - elif link_type == 'XPONDER-INPUT': - self.assertEqual(oppLink_type, 'XPONDER-OUTPUT') - elif link_type == 'XPONDER-OUTPUT': - self.assertEqual(oppLink_type, 'XPONDER-INPUT') + CHECK_DICT = {'ADD-LINK': 'DROP-LINK', 'DROP-LINK': 'ADD-LINK', + 'EXPRESS-LINK': 'EXPRESS-LINK', 'ROADM-TO-ROADM': 'ROADM-TO-ROADM', + 'XPONDER-INPUT': 'XPONDER-OUTPUT', 'XPONDER-OUTUT': 'XPONDER-INPUT'} + if link_type in CHECK_DICT: + self.assertEqual(oppLink_type, CHECK_DICT[link_type]) def test_29_getLinkOmsAttributesOpenRoadmTopology(self): response = test_utils.get_ordm_topo_request("") @@ -833,45 +690,15 @@ class TransportPCEtesting(unittest.TestCase): self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A1'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, - res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, + # Tests related to ROADMA nodes + elif nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, res['network'][0]['node'][i]['supporting-node']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) @@ -938,39 +765,16 @@ class TransportPCEtesting(unittest.TestCase): res['network'][0]['node'][i]['supporting-node']) nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type'] nodeId = res['network'][0]['node'][i]['node-id'] - if nodeId == 'ROADM-A1-SRG1': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG1-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-SRG3': - # Test related to SRG1 - self.assertEqual(nodeType, 'SRG') - self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) - self.assertIn({'tp-id': 'SRG3-CP-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-CP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG1': - # Test related to DEG1 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG1-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - listNode.remove(nodeId) - elif nodeId == 'ROADM-A1-DEG2': - # Test related to DEG2 - self.assertEqual(nodeType, 'DEGREE') - self.assertIn({'tp-id': 'DEG2-TTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-TTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) - self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'}, - res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + if nodeId in self.CHECK_DICT1: + self.assertEqual(nodeType, self.CHECK_DICT1[nodeId]['node_type']) + if self.CHECK_DICT1[nodeId]['node_type'] == 'SRG': + self.assertEqual(len(res['network'][0]['node'][i]['ietf-network-topology:termination-point']), 5) + for item in self.CHECK_DICT1[nodeId]['checks_tp']: + self.assertIn(item, res['network'][0]['node'][i]['ietf-network-topology:termination-point']) + self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'}, + res['network'][0]['node'][i]['supporting-node']) + self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'}, + res['network'][0]['node'][i]['supporting-node']) listNode.remove(nodeId) else: self.assertFalse(True) @@ -990,41 +794,29 @@ class TransportPCEtesting(unittest.TestCase): res = response.json() nbLink = len(res['network'][0]['ietf-network-topology:link']) self.assertEqual(nbLink, 16) - expressLink = ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'] - addLink = ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', - 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'] - dropLink = ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', - 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', - 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'] + check_list = {'EXPRESS-LINK': ['ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX'], + 'ADD-LINK': ['ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX', + 'ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX'], + 'DROP-LINK': ['ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX', + 'ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX', + 'ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX'] + } roadmtoroadmLink = 0 for i in range(0, nbLink): - if (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'EXPRESS-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in expressLink - self.assertEqual(find, True) - expressLink.remove(link_id) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'ADD-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in addLink - self.assertEqual(find, True) - addLink.remove(link_id) - elif (res['network'][0]['ietf-network-topology:link'][i] - ['org-openroadm-common-network:link-type'] == 'DROP-LINK'): - link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id'] - find = link_id in dropLink + linkId = res['network'][0]['ietf-network-topology:link'][i]['link-id'] + linkType = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type'] + if linkType in check_list: + find = linkId in check_list[linkType] self.assertEqual(find, True) - dropLink.remove(link_id) + (check_list[linkType]).remove(linkId) else: roadmtoroadmLink += 1 - self.assertEqual(len(expressLink), 0) - self.assertEqual(len(addLink), 0) - self.assertEqual(len(dropLink), 0) + for link_type in check_list: + self.assertEqual(len(check_list[link_type]), 0) self.assertEqual(roadmtoroadmLink, 6) for i in range(0, nbLink): self.assertNotEqual(res['network'][0]['ietf-network-topology:link'][i] -- 2.36.6