# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+# pylint: disable=no-member
+# pylint: disable=too-many-public-methods
+
import unittest
import time
import logging
@classmethod
def setUpClass(cls):
cls.processes = test_utils.start_tpce()
- cls.processes = test_utils.start_sims(['spdrav2'])
+ cls.processes = test_utils.start_sims(['spdra'])
@classmethod
def tearDownClass(cls):
time.sleep(5)
def test_01_connect_SPDR_SA1(self):
- response = test_utils.mount_device("SPDR-SA1", 'spdrav2')
+ response = test_utils.mount_device("SPDR-SA1", 'spdra')
self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201)
time.sleep(10)
- url = ("{}/operational/network-topology:"
- "network-topology/topology/topology-netconf/node/SPDR-SA1"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ response = test_utils.get_netconf_oper_request("SPDR-SA1")
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(
'connected')
def test_02_getClliNetwork(self):
- url = ("{}/config/ietf-network:networks/network/clli-network"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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]['org-openroadm-clli-network:clli'], 'NodeSA')
def test_03_getOpenRoadmNetwork(self):
- url = ("{}/config/ietf-network:networks/network/openroadm-network"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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]['org-openroadm-network:ip'], '1.2.3.4')
def test_04_getLinks_OpenroadmTopology(self):
- url = ("{}/config/ietf-network:networks/network/openroadm-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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])
def test_05_getNodes_OpenRoadmTopology(self):
- url = ("{}/config/ietf-network:networks/network/openroadm-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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]):
+ if 'node' in res['network'][0]:
nbNode = len(res['network'][0]['node'])
self.assertEqual(nbNode, 2)
listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2']
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 == 'SPDR-SA1-XPDR1'):
+ 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'},
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'):
+ 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'):
+ elif tpType == 'XPONDER-NETWORK':
network += 1
self.assertTrue(client == 0)
self.assertTrue(network == 1)
listNode.remove(nodeId)
- elif (nodeId == 'SPDR-SA1-XPDR2'):
+ 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'},
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'):
+ 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'):
+ elif tpType == 'XPONDER-NETWORK':
network += 1
self.assertTrue(client == 0)
self.assertTrue(network == 4)
self.assertEqual(len(listNode), 0)
def test_06_getLinks_OtnTopology(self):
- url = ("{}/config/ietf-network:networks/network/otn-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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])
def test_07_getNodes_OtnTopology(self):
- url = ("{}/config/ietf-network:networks/network/otn-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ response = test_utils.get_otn_topo_request()
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
nbNode = len(res['network'][0]['node'])
listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2']
for i in range(0, nbNode):
nodeId = res['network'][0]['node'][i]['node-id']
- if(nodeId == 'SPDR-SA1-XPDR1'):
+ if nodeId == 'SPDR-SA1-XPDR1':
nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
self.assertEqual(nodeType, 'MUXPDR')
self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
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']
+ 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'):
+ 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-10GE-ODU2e')
- 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')
- elif (tpType == 'XPONDER-NETWORK'):
+ 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')
+ 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')
+ 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-XPDR1')
- self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point']
- [j]['supporting-termination-point'][0]['tp-ref'], 'XPDR1-NETWORK1')
+ 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-XPDR1')
+ self.assertEqual((res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
+ ['supporting-termination-point'][0]['tp-ref']), 'XPDR1-NETWORK1')
self.assertTrue(client == 4)
self.assertTrue(network == 1)
listNode.remove(nodeId)
['odu-switching-pools'][0]['non-blocking-list'])
self.assertEqual(nbNbl, 4)
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):
+ 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'):
+ 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'},
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']
+ 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'):
+ 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'):
+ 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.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]
+ 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.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
def test_09_getClliNetwork(self):
- url = ("{}/config/ietf-network:networks/network/clli-network"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ 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(res['network'][0]['node'][0]['org-openroadm-clli-network:clli'], 'NodeSA')
def test_10_getOpenRoadmNetwork(self):
- url = ("{}/config/ietf-network:networks/network/openroadm-network"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ response = test_utils.get_ordm_net_request()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertNotIn('node', res['network'][0])
def test_11_getNodes_OpenRoadmTopology(self):
- url = ("{}/config/ietf-network:networks/network/openroadm-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ response = test_utils.get_ordm_topo_request("")
res = response.json()
self.assertNotIn('node', res['network'][0])
def test_12_getNodes_OtnTopology(self):
- url = ("{}/config/ietf-network:networks/network/otn-topology"
- .format(test_utils.RESTCONF_BASE_URL))
- response = requests.request(
- "GET", url, headers=test_utils.TYPE_APPLICATION_JSON, auth=(test_utils.ODL_LOGIN, test_utils.ODL_PWD))
+ response = test_utils.get_otn_topo_request()
res = response.json()
self.assertNotIn('node', res['network'][0])