def test_02_compareOpenroadmTopologyPortMapping_rdm(self): responseTopo = test_utils.get_ordm_topo_request("") resTopo = responseTopo.json() nbNode = len(resTopo['network'][0]['node']) nbMapCumul = 0 nbMappings = 0 for i in range(0, nbNode): nodeId = resTopo['network'][0]['node'][i]['node-id'] print("nodeId={}".format(nodeId)) nodeMapId = nodeId.split("-")[0] + "-" + nodeId.split("-")[1] print("nodeMapId={}".format(nodeMapId)) responseMapList = test_utils.portmapping_request(nodeMapId) resMapList = responseMapList.json() nbMappings = len(resMapList['nodes'][0]['mapping']) - nbMapCumul nbTp = len(resTopo['network'][0]['node'][i] ['ietf-network-topology:termination-point']) nbMapCurrent = 0 for j in range(0, nbTp): tpId = resTopo['network'][0]['node'][i][ 'ietf-network-topology:termination-point'][j]['tp-id'] if (not "CP" in tpId) and (not "CTP" in tpId): responseMap = test_utils.portmapping_request(nodeMapId + "/mapping/" + 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_09_get_portmapping_NETWORK1(self): response = test_utils.portmapping_request( "SPDR-SA1/mapping/XPDR1-NETWORK1") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.NETWORK1_CHECK_DICT["supporting-odu4"] = "XPDR1-NETWORK1-ODU4" self.assertIn(self.NETWORK1_CHECK_DICT, res['mapping'])
def test_02_compare_Openroadm_topology_portmapping_rdm(self): responseTopo = test_utils.get_ordm_topo_request("") resTopo = responseTopo.json() nbNode = len(resTopo['network'][0]['node']) for i in range(0, nbNode): nodeId = resTopo['network'][0]['node'][i]['node-id'] nodeMapId = nodeId.split("-")[0] test_utils.portmapping_request(nodeMapId) nbTp = len(resTopo['network'][0]['node'][i] ['ietf-network-topology:termination-point']) for j in range(0, nbTp): tpId = resTopo['network'][0]['node'][i][ 'ietf-network-topology:termination-point'][j]['tp-id'] if ((not "CP" in tpId) and (not "CTP" in tpId)): test_utils.portmapping_request(nodeMapId + "/mapping/" + tpId)
def test_14_xpdr_portmapping_CLIENT2(self): response = test_utils.portmapping_request( "XPDR-A1/mapping/XPDR1-CLIENT2") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supported-interface-capability': ['org-openroadm-port-types:if-100GE'], 'supporting-port': 'C1', 'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT', 'logical-connection-point': 'XPDR1-CLIENT2', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-NETWORK2', 'port-qual': 'xpdr-client', 'lcp-hash-val': 'AJUUr6I5fALg', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['mapping'])
def test_11_xpdr_portmapping_NETWORK1(self): response = test_utils.portmapping_request( "XPDR-A1/mapping/XPDR1-NETWORK1") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supported-interface-capability': ['org-openroadm-port-types:if-OCH'], 'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-network', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1', 'lcp-hash-val': 'AMkDwQ7xTmRI', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['mapping'])
def test_04_xpdr_portmapping(self): response = test_utils.portmapping_request("XPDRA01") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK1', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1', 'port-qual': 'xpdr-network', 'lcp-hash-val': 'OSvMgUyP+mE=', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['nodes'][0]['mapping']) self.assertIn( { 'supporting-port': 'C1', 'supporting-circuit-pack-name': '1/0/C1-PLUG-CLIENT', 'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client', 'lcp-hash-val': 'AO9UFkY/TLYw', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['nodes'][0]['mapping'])
def test_18_check_update_portmapping_ok(self): response = test_utils.portmapping_request("XPDRA01") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() mapping_list = res['nodes'][0]['mapping'] for mapping in mapping_list: self.assertEqual(mapping['port-oper-state'], 'InService', "Operational State should be 'InService'") self.assertEqual(mapping['port-admin-state'], 'InService', "Administrative State should be 'InService'") time.sleep(1)
def test_21_rdm_device_not_connected(self): response = test_utils.portmapping_request("ROADMA01") self.assertEqual(response.status_code, requests.codes.conflict) res = response.json() self.assertIn( { "error-type": "application", "error-tag": "data-missing", "error-message": "Request could not be completed because the relevant data model content does not exist" }, res['errors']['error'])
def test_05_rdm_deg2_lcp(self): response = test_utils.portmapping_request( "ROADM-D1/mc-capabilities/DEG2-TTP") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual( { "mc-capabilities": [{ "mc-node-name": "DEG2-TTP", "center-freq-granularity": 6.25, "slot-width-granularity": 12.5 }] }, res) time.sleep(3)
def test_05_rdm_portmapping_SRG1_PP7_TXRX(self): response = test_utils.portmapping_request( "ROADMA01/mapping/SRG1-PP7-TXRX") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supporting-port': 'C7', 'supporting-circuit-pack-name': '4/0', 'logical-connection-point': 'SRG1-PP7-TXRX', 'port-direction': 'bidirectional', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['mapping'])
def test_04_rdm_portmapping_DEG1_TTP_TXRX(self): response = test_utils.portmapping_request( "ROADM-A1/mapping/DEG1-TTP-TXRX") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supporting-port': 'L1', 'supporting-circuit-pack-name': '1/0', 'logical-connection-point': 'DEG1-TTP-TXRX', 'port-direction': 'bidirectional', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['mapping'])
def test_09_xpdr_portmapping_info(self): response = test_utils.portmapping_request("XPDRA01/node-info") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual( { u'node-info': { u'node-type': u'xpdr', u'node-ip-address': u'127.0.0.10', u'node-clli': u'NodeA', u'openroadm-version': u'1.2.1', u'node-vendor': u'vendorA', u'node-model': u'1' } }, res) time.sleep(3)
def test_03_rdm_portmapping_info(self): response = test_utils.portmapping_request("ROADM-D1/node-info") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual( { u'node-info': { u'node-type': u'rdm', u'node-ip-address': u'127.0.0.14', u'node-clli': u'NodeD', u'openroadm-version': u'2.2.1', u'node-vendor': u'vendorD', u'node-model': u'model2', } }, res) time.sleep(3)
def test_15_xpdr_portmapping_CLIENT4(self): response = test_utils.portmapping_request( "XPDRA01/mapping/XPDR1-CLIENT4") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( { 'supporting-port': 'C4', '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' }, res['mapping'])
def test_11_xpdr_portmapping_NETWORK2(self): response = test_utils.portmapping_request( "XPDRA01/mapping/XPDR1-NETWORK2") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() 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=', 'port-admin-state': 'InService', 'port-oper-state': 'InService' }, res['mapping'])
def test_43_check_update_portmapping(self): response = test_utils.portmapping_request("ROADM-A1") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() mapping_list = res['nodes'][0]['mapping'] for mapping in mapping_list: if mapping['logical-connection-point'] == 'SRG1-PP2-TXRX': self.assertEqual(mapping['port-oper-state'], 'OutOfService', "Operational State should be 'OutOfService'") self.assertEqual(mapping['port-admin-state'], 'OutOfService', "Administrative State should be 'OutOfService'") else: self.assertEqual(mapping['port-oper-state'], 'InService', "Operational State should be 'InService'") self.assertEqual(mapping['port-admin-state'], 'InService', "Administrative State should be 'InService'") time.sleep(1)
def test_02_get_portmapping_CLIENT4(self): response = test_utils.portmapping_request( "SPDR-SA1/mapping/XPDR1-CLIENT4") self.assertEqual(response.status_code, requests.codes.ok) res_mapping = (response.json())['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'])