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