def test_27_spdr_portmapping_XPDR3_NETWORK1(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR3-NETWORK1") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { "logical-connection-point": "XPDR3-NETWORK1", "supporting-circuit-pack-name": "CP3-CFP0", "supported-interface-capability": ["org-openroadm-port-types:if-OCH-OTU4-ODU4"], "supporting-port": "CP3-CFP0-P1", "lcp-hash-val": "ANnxoi7K8q30", "port-direction": "bidirectional", "port-admin-state": "InService", "xponder-type": "mpdr", "port-qual": "xpdr-network", "port-oper-state": "InService" }, response['mapping'])
def test_09_get_portmapping_NETWORK1(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR1-NETWORK1") self.assertEqual(response['status_code'], requests.codes.ok) self.NETWORK1_CHECK_DICT["supporting-odu4"] = "XPDR1-NETWORK1-ODU4" self.NETWORK1_CHECK_DICT["supporting-otu4"] = "XPDR1-NETWORK1-OTU" self.assertIn(self.NETWORK1_CHECK_DICT, response['mapping'])
def test_04_tpdr_portmapping_NETWORK1(self): response = test_utils_rfc8040.portmapping_request( "XPDR-A2", "XPDR1-NETWORK1") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { 'supported-interface-capability': ['org-openroadm-port-types:if-otsi-otsigroup'], 'supporting-port': 'L1', 'supporting-circuit-pack-name': '1/1/2-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-network', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1', 'lcp-hash-val': 'AIGiVAQ4gDil', 'port-admin-state': 'InService', 'port-oper-state': 'InService', 'xponder-type': 'tpdr' }, response['mapping'])
def test_25_spdr_portmapping_XPDR2_NETWORK2(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR2-NETWORK2") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { "logical-connection-point": "XPDR2-NETWORK2", "supporting-circuit-pack-name": "CP6-CFP", "supported-interface-capability": ["org-openroadm-port-types:if-OCH-OTU4-ODU4"], "supporting-port": "CP6-CFP-P1", "lcp-hash-val": "exT821pFtOQ=", "port-direction": "bidirectional", "port-admin-state": "InService", "xponder-type": "switch", "port-qual": "switch-network", "port-oper-state": "InService" }, response['mapping'])
def test_26_spdr_portmapping_XPDR3_CLIENT3(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR3-CLIENT3") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { "logical-connection-point": "XPDR3-CLIENT3", "supporting-circuit-pack-name": "CP3-SFP3", "supported-interface-capability": ["org-openroadm-port-types:if-1GE-ODU0"], "supporting-port": "CP3-SFP3-P1", "lcp-hash-val": "AKsQ/HRQdtdN", "port-direction": "bidirectional", "port-admin-state": "InService", "xponder-type": "mpdr", "port-qual": "xpdr-client", "port-oper-state": "InService" }, response['mapping'])
def test_24_spdr_portmapping_XPDR2_CLIENT2(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR2-CLIENT2") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { 'logical-connection-point': 'XPDR2-CLIENT2', 'supporting-port': 'CP2-QSFP2-P1', 'lcp-hash-val': 'AN/WSSRXne3t', 'port-direction': 'bidirectional', 'xponder-type': 'switch', 'port-qual': 'switch-client', 'supporting-circuit-pack-name': 'CP2-QSFP2', 'port-admin-state': 'InService', 'port-oper-state': 'InService', 'supported-interface-capability': [ 'org-openroadm-port-types:if-100GE', 'org-openroadm-port-types:if-100GE-ODU4' ] }, response['mapping'])
def test_12_xpdr_portmapping_XPDR2_NETWORK1(self): response = test_utils_rfc8040.portmapping_request( "XPDR-A1", "XPDR1-NETWORK2") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { 'supported-interface-capability': ['org-openroadm-port-types:if-OCH'], 'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK2', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT2', 'port-qual': 'xpdr-network', 'lcp-hash-val': 'AMkDwQ7xTmRL', 'xponder-type': 'tpdr', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, response['mapping'])
def test_05_tpdr_portmapping_CLIENT1(self): response = test_utils_rfc8040.portmapping_request( "XPDR-A2", "XPDR1-CLIENT1") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { 'supported-interface-capability': ['org-openroadm-port-types:if-400GE'], 'supporting-port': 'C1', 'supporting-circuit-pack-name': '1/1/1-PLUG-CLIENT', 'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client', 'lcp-hash-val': 'AODABTVSOHH0', 'port-admin-state': 'InService', 'port-oper-state': 'InService', 'xponder-type': 'tpdr' }, response['mapping'])
def test_02_compareOpenroadmTopologyPortMapping_rdm(self): resTopo = test_utils_rfc8040.get_ietf_network_request( 'openroadm-topology', 'config') self.assertEqual(resTopo['status_code'], requests.codes.ok) nbMapCumul = 0 nbMappings = 0 for node in resTopo['network'][0]['node']: nodeId = node['node-id'] # pylint: disable=consider-using-f-string print("nodeId={}".format(nodeId)) nodeMapId = nodeId.split("-")[0] + "-" + nodeId.split("-")[1] print("nodeMapId={}".format(nodeMapId)) response = test_utils_rfc8040.get_portmapping_node_info(nodeMapId) self.assertEqual(response['status_code'], requests.codes.ok) responseMapList = test_utils_rfc8040.get_portmapping(nodeMapId) nbMappings = len( responseMapList['nodes'][0]['mapping']) - nbMapCumul nbMapCurrent = 0 for tp in node['ietf-network-topology:termination-point']: tpId = tp['tp-id'] if (not "CP" in tpId) and (not "CTP" in tpId): responseMap = test_utils_rfc8040.portmapping_request( nodeMapId, tpId) self.assertEqual(responseMap['status_code'], requests.codes.ok) if responseMap['status_code'] == requests.codes.ok: nbMapCurrent += 1 nbMapCumul += nbMapCurrent nbMappings -= nbMapCurrent self.assertEqual(nbMappings, 0)
def test_06_rdm_portmapping_SRG3_PP1_TXRX(self): response = test_utils_rfc8040.portmapping_request("ROADMA01", "SRG3-PP1-TXRX") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( {'supporting-port': 'C1', 'supporting-circuit-pack-name': '5/0', 'logical-connection-point': 'SRG3-PP1-TXRX', 'port-direction': 'bidirectional', 'port-admin-state': 'InService', 'port-oper-state': 'InService'}, response['mapping'])
def test_15_xpdr_portmapping_CLIENT4(self): response = test_utils_rfc8040.portmapping_request("XPDRA01", "XPDR1-CLIENT4") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( {'supporting-port': 'C4', 'xponder-type': 'tpdr', 'supporting-circuit-pack-name': '1/0/C4-PLUG-CLIENT', 'logical-connection-point': 'XPDR1-CLIENT4', 'port-direction': 'bidirectional', 'port-qual': 'xpdr-client', 'lcp-hash-val': 'AO9UFkY/TLY1', 'port-admin-state': 'InService', 'port-oper-state': 'InService'}, response['mapping'])
def test_11_xpdr_portmapping_NETWORK2(self): response = test_utils_rfc8040.portmapping_request("XPDRA01", "XPDR1-NETWORK2") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK2', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT3', 'port-qual': 'xpdr-network', 'lcp-hash-val': 'OSvMgUyP+mI=', 'xponder-type': 'tpdr', 'port-admin-state': 'InService', 'port-oper-state': 'InService'}, response['mapping'])
def test_02_compare_Openroadm_topology_portmapping_rdm(self): resTopo = test_utils_rfc8040.get_ietf_network_request('openroadm-topology', 'config') self.assertEqual(resTopo['status_code'], requests.codes.ok) for node in resTopo['network'][0]['node']: nodeId = node['node-id'] nodeMapId = nodeId.split("-")[0] response = test_utils_rfc8040.get_portmapping_node_info(nodeMapId) self.assertEqual(response['status_code'], requests.codes.ok) for tp in node['ietf-network-topology:termination-point']: tpId = tp['tp-id'] if (not "CP" in tpId) and (not "CTP" in tpId): response2 = test_utils_rfc8040.portmapping_request(nodeMapId, tpId) self.assertEqual(response2['status_code'], requests.codes.ok)
def test_05_rdm_portmapping_DEG2_TTP_TXRX_with_ots_oms(self): response = test_utils_rfc8040.portmapping_request( "ROADM-A1", "DEG2-TTP-TXRX") self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn( { 'supporting-port': 'L1', 'supporting-circuit-pack-name': '2/0', 'logical-connection-point': 'DEG2-TTP-TXRX', 'supporting-oms': 'OMS-DEG2-TTP-TXRX', 'supporting-ots': 'OTS-DEG2-TTP-TXRX', 'port-direction': 'bidirectional', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, response['mapping'])
def test_02_get_portmapping_CLIENT4(self): response = test_utils_rfc8040.portmapping_request( "SPDR-SA1", "XPDR1-CLIENT4") self.assertEqual(response['status_code'], requests.codes.ok) res_mapping = response['mapping'][0] self.assertEqual('CP1-SFP4-P1', res_mapping['supporting-port']) self.assertEqual('CP1-SFP4', res_mapping['supporting-circuit-pack-name']) self.assertEqual('XPDR1-CLIENT4', res_mapping['logical-connection-point']) self.assertEqual('bidirectional', res_mapping['port-direction']) self.assertEqual('xpdr-client', res_mapping['port-qual']) self.assertEqual('FqlcrxV7p3g=', res_mapping['lcp-hash-val']) self.assertEqual('InService', res_mapping['port-admin-state']) self.assertEqual('InService', res_mapping['port-oper-state']) self.assertIn('org-openroadm-port-types:if-10GE-ODU2e', res_mapping['supported-interface-capability']) self.assertIn('org-openroadm-port-types:if-10GE-ODU2', res_mapping['supported-interface-capability']) self.assertIn('org-openroadm-port-types:if-10GE', res_mapping['supported-interface-capability'])
def test_07_mpdr_portmapping_CLIENT1(self): res = test_utils_rfc8040.portmapping_request("XPDR-A2", "XPDR2-CLIENT1") self.assertEqual(res['status_code'], requests.codes.ok) self.assertIn('org-openroadm-port-types:if-100GE-ODU4', res['mapping'][0]['supported-interface-capability']) self.assertIn('org-openroadm-port-types:if-OCH-OTU4-ODU4', res['mapping'][0]['supported-interface-capability']) self.assertEqual('C1', res['mapping'][0]['supporting-port']) self.assertEqual('1/2/1/1-PLUG-CLIENT', res['mapping'][0]['supporting-circuit-pack-name']) self.assertEqual('XPDR2-CLIENT1', res['mapping'][0]['logical-connection-point']) self.assertEqual('bidirectional', res['mapping'][0]['port-direction']) self.assertEqual('switch-client', res['mapping'][0]['port-qual']) self.assertEqual('AK+Cna4EclRH', res['mapping'][0]['lcp-hash-val']) self.assertEqual('InService', res['mapping'][0]['port-admin-state']) self.assertEqual('InService', res['mapping'][0]['port-oper-state']) self.assertEqual('mpdr', res['mapping'][0]['xponder-type']) self.assertEqual({ "min-trib-slot": "1.1", "max-trib-slot": "1.20" }, res['mapping'][0]['mpdr-restrictions'])
def test_46_get_portmapping_network1(self): response = test_utils_rfc8040.portmapping_request( "XPDR-A2", "XPDR2-NETWORK1") self.assertEqual(response['status_code'], requests.codes.ok) self.NETWORK2_CHECK_DICT["supporting-oducn"] = "XPDR2-NETWORK1-ODUC4" self.assertIn(self.NETWORK2_CHECK_DICT, response['mapping'])
def test_39a_check_no_otuc3(self): response = test_utils_rfc8040.portmapping_request( "XPDR-A2", "XPDR2-NETWORK1") self.assertRaises(KeyError, lambda: response["supporting-otucn"])