- one variable for honeynode executable absolute path
- one variable for sample config absolute path directory
- improve PEP8 code-style: remove unused imports, fix line indents,
line length (<=80) and other minor changes.
Signed-off-by: manuedelf <emmanuelle.delfour@gmail.com>
Change-Id: Icfaefce20673ab776f2ae3b47ea6226e2472d20b
-import os
-import psutil
-import requests
-import shutil
-import subprocess
import time
import unittest
import time
import unittest
+
+import psutil
+import requests
import test_utils
class TransportPCEFulltesting(unittest.TestCase):
import test_utils
class TransportPCEFulltesting(unittest.TestCase):
+ headers = {'content-type': 'application/json'}
odl_process = None
honeynode_process1 = None
honeynode_process2 = None
honeynode_process3 = None
honeynode_process4 = None
restconf_baseurl = "http://localhost:8181/restconf"
odl_process = None
honeynode_process1 = None
honeynode_process2 = None
honeynode_process3 = None
honeynode_process4 = None
restconf_baseurl = "http://localhost:8181/restconf"
- WAITING = 20 #nominal value is 300
+ WAITING = 20 # nominal value is 300
+ # START_IGNORE_XTESTING
@classmethod
def setUpClass(cls):
@classmethod
def setUpClass(cls):
- print ("starting honeynode1...")
+ print("starting honeynode1...")
cls.honeynode_process1 = test_utils.start_xpdra_honeynode()
time.sleep(20)
cls.honeynode_process1 = test_utils.start_xpdra_honeynode()
time.sleep(20)
- print ("starting honeynode2...")
+ print("starting honeynode2...")
cls.honeynode_process2 = test_utils.start_roadma_full_honeynode()
time.sleep(20)
cls.honeynode_process2 = test_utils.start_roadma_full_honeynode()
time.sleep(20)
- print ("starting honeynode3...")
+ print("starting honeynode3...")
cls.honeynode_process3 = test_utils.start_roadmc_full_honeynode()
time.sleep(20)
cls.honeynode_process3 = test_utils.start_roadmc_full_honeynode()
time.sleep(20)
- print ("starting honeynode4...")
+ print("starting honeynode4...")
cls.honeynode_process4 = test_utils.start_xpdrc_honeynode()
time.sleep(20)
cls.honeynode_process4 = test_utils.start_xpdrc_honeynode()
time.sleep(20)
- print ("all honeynodes started")
+ print("all honeynodes started")
- print ("starting opendaylight...")
+ print("starting opendaylight...")
cls.odl_process = test_utils.start_tpce()
time.sleep(80)
cls.odl_process = test_utils.start_tpce()
time.sleep(80)
- print ("opendaylight started")
+ print("opendaylight started")
@classmethod
def tearDownClass(cls):
@classmethod
def tearDownClass(cls):
child.wait()
cls.honeynode_process4.send_signal(signal.SIGINT)
cls.honeynode_process4.wait()
child.wait()
cls.honeynode_process4.send_signal(signal.SIGINT)
cls.honeynode_process4.wait()
- print ("all processes killed")
+ print("all processes killed")
def setUp(self): # instruction executed before each test method
def setUp(self): # instruction executed before each test method
- print ("execution of {}".format(self.id().split(".")[-1]))
+ print("execution of {}".format(self.id().split(".")[-1]))
-# connect netconf devices
+ # connect netconf devices
def test_01_connect_xpdrA(self):
url = ("{}/config/network-topology:"
"network-topology/topology/topology-netconf/node/XPDRA01"
def test_01_connect_xpdrA(self):
url = ("{}/config/network-topology:"
"network-topology/topology/topology-netconf/node/XPDRA01"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "node-id": "XPDRA01",
- "netconf-node-topology:username": "admin",
- "netconf-node-topology:password": "admin",
- "netconf-node-topology:host": "127.0.0.1",
- "netconf-node-topology:port": "17830",
- "netconf-node-topology:tcp-only": "false",
- "netconf-node-topology:pass-through": {}}]}
+ "node-id": "XPDRA01",
+ "netconf-node-topology:username": "admin",
+ "netconf-node-topology:password": "admin",
+ "netconf-node-topology:host": "127.0.0.1",
+ "netconf-node-topology:port": "17830",
+ "netconf-node-topology:tcp-only": "false",
+ "netconf-node-topology:pass-through": {}}]}
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
def test_02_connect_xpdrC(self):
url = ("{}/config/network-topology:"
"network-topology/topology/topology-netconf/node/XPDRC01"
def test_02_connect_xpdrC(self):
url = ("{}/config/network-topology:"
"network-topology/topology/topology-netconf/node/XPDRC01"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "node-id": "XPDRC01",
- "netconf-node-topology:username": "admin",
- "netconf-node-topology:password": "admin",
- "netconf-node-topology:host": "127.0.0.1",
- "netconf-node-topology:port": "17834",
- "netconf-node-topology:tcp-only": "false",
- "netconf-node-topology:pass-through": {}}]}
+ "node-id": "XPDRC01",
+ "netconf-node-topology:username": "admin",
+ "netconf-node-topology:password": "admin",
+ "netconf-node-topology:host": "127.0.0.1",
+ "netconf-node-topology:port": "17834",
+ "netconf-node-topology:tcp-only": "false",
+ "netconf-node-topology:pass-through": {}}]}
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
"network-topology/topology/topology-netconf/node/ROADMA01"
.format(self.restconf_baseurl))
data = {"node": [{
"network-topology/topology/topology-netconf/node/ROADMA01"
.format(self.restconf_baseurl))
data = {"node": [{
- "node-id": "ROADMA01",
- "netconf-node-topology:username": "admin",
- "netconf-node-topology:password": "admin",
- "netconf-node-topology:host": "127.0.0.1",
- "netconf-node-topology:port": "17821",
- "netconf-node-topology:tcp-only": "false",
- "netconf-node-topology:pass-through": {}}]}
+ "node-id": "ROADMA01",
+ "netconf-node-topology:username": "admin",
+ "netconf-node-topology:password": "admin",
+ "netconf-node-topology:host": "127.0.0.1",
+ "netconf-node-topology:port": "17821",
+ "netconf-node-topology:tcp-only": "false",
+ "netconf-node-topology:pass-through": {}}]}
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "PUT", url, data=json.dumps(data), headers=headers,
- auth=('admin', 'admin'))
+ "PUT", url, data=json.dumps(data), headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.created)
time.sleep(20)
self.assertEqual(response.status_code, requests.codes.created)
time.sleep(20)
"network-topology/topology/topology-netconf/node/ROADMC01"
.format(self.restconf_baseurl))
data = {"node": [{
"network-topology/topology/topology-netconf/node/ROADMC01"
.format(self.restconf_baseurl))
data = {"node": [{
- "node-id": "ROADMC01",
- "netconf-node-topology:username": "admin",
- "netconf-node-topology:password": "admin",
- "netconf-node-topology:host": "127.0.0.1",
- "netconf-node-topology:port": "17823",
- "netconf-node-topology:tcp-only": "false",
- "netconf-node-topology:pass-through": {}}]}
+ "node-id": "ROADMC01",
+ "netconf-node-topology:username": "admin",
+ "netconf-node-topology:password": "admin",
+ "netconf-node-topology:host": "127.0.0.1",
+ "netconf-node-topology:port": "17823",
+ "netconf-node-topology:tcp-only": "false",
+ "netconf-node-topology:pass-through": {}}]}
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "PUT", url, data=json.dumps(data), headers=headers,
- auth=('admin', 'admin'))
+ "PUT", url, data=json.dumps(data), headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.created)
time.sleep(20)
def test_05_connect_xprdA_N1_to_roadmA_PP1(self):
self.assertEqual(response.status_code, requests.codes.created)
time.sleep(20)
def test_05_connect_xprdA_N1_to_roadmA_PP1(self):
- url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".\
+ format(self.restconf_baseurl)
- "networkutils:input": {
- "networkutils:links-input": {
- "networkutils:xpdr-node": "XPDRA01",
- "networkutils:xpdr-num": "1",
- "networkutils:network-num": "1",
- "networkutils:rdm-node": "ROADMA01",
- "networkutils:srg-num": "1",
- "networkutils:termination-point-num": "SRG1-PP1-TXRX"
- }
+ "networkutils:input": {
+ "networkutils:links-input": {
+ "networkutils:xpdr-node": "XPDRA01",
+ "networkutils:xpdr-num": "1",
+ "networkutils:network-num": "1",
+ "networkutils:rdm-node": "ROADMA01",
+ "networkutils:srg-num": "1",
+ "networkutils:termination-point-num": "SRG1-PP1-TXRX"
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Xponder Roadm Link created successfully', res["output"]["result"])
+ self.assertIn('Xponder Roadm Link created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_06_connect_roadmA_PP1_to_xpdrA_N1(self):
time.sleep(2)
def test_06_connect_roadmA_PP1_to_xpdrA_N1(self):
- url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".\
+ format(self.restconf_baseurl)
- "networkutils:input": {
- "networkutils:links-input": {
- "networkutils:xpdr-node": "XPDRA01",
- "networkutils:xpdr-num": "1",
- "networkutils:network-num": "1",
- "networkutils:rdm-node": "ROADMA01",
- "networkutils:srg-num": "1",
- "networkutils:termination-point-num": "SRG1-PP1-TXRX"
- }
+ "networkutils:input": {
+ "networkutils:links-input": {
+ "networkutils:xpdr-node": "XPDRA01",
+ "networkutils:xpdr-num": "1",
+ "networkutils:network-num": "1",
+ "networkutils:rdm-node": "ROADMA01",
+ "networkutils:srg-num": "1",
+ "networkutils:termination-point-num": "SRG1-PP1-TXRX"
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Roadm Xponder links created successfully', res["output"]["result"])
+ self.assertIn('Roadm Xponder links created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_07_connect_xprdC_N1_to_roadmC_PP1(self):
time.sleep(2)
def test_07_connect_xprdC_N1_to_roadmC_PP1(self):
- url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".\
+ format(self.restconf_baseurl)
- "networkutils:input": {
- "networkutils:links-input": {
- "networkutils:xpdr-node": "XPDRC01",
- "networkutils:xpdr-num": "1",
- "networkutils:network-num": "1",
- "networkutils:rdm-node": "ROADMC01",
- "networkutils:srg-num": "1",
- "networkutils:termination-point-num": "SRG1-PP1-TXRX"
- }
+ "networkutils:input": {
+ "networkutils:links-input": {
+ "networkutils:xpdr-node": "XPDRC01",
+ "networkutils:xpdr-num": "1",
+ "networkutils:network-num": "1",
+ "networkutils:rdm-node": "ROADMC01",
+ "networkutils:srg-num": "1",
+ "networkutils:termination-point-num": "SRG1-PP1-TXRX"
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Xponder Roadm Link created successfully', res["output"]["result"])
+ self.assertIn('Xponder Roadm Link created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_08_connect_roadmC_PP1_to_xpdrC_N1(self):
time.sleep(2)
def test_08_connect_roadmC_PP1_to_xpdrC_N1(self):
- url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".\
+ format(self.restconf_baseurl)
- "networkutils:input": {
- "networkutils:links-input": {
- "networkutils:xpdr-node": "XPDRC01",
- "networkutils:xpdr-num": "1",
- "networkutils:network-num": "1",
- "networkutils:rdm-node": "ROADMC01",
- "networkutils:srg-num": "1",
- "networkutils:termination-point-num": "SRG1-PP1-TXRX"
- }
+ "networkutils:input": {
+ "networkutils:links-input": {
+ "networkutils:xpdr-node": "XPDRC01",
+ "networkutils:xpdr-num": "1",
+ "networkutils:network-num": "1",
+ "networkutils:rdm-node": "ROADMC01",
+ "networkutils:srg-num": "1",
+ "networkutils:termination-point-num": "SRG1-PP1-TXRX"
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Roadm Xponder links created successfully', res["output"]["result"])
+ self.assertIn('Roadm Xponder links created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_09_add_omsAttributes_ROADMA_ROADMC(self):
# Config ROADMA-ROADMC oms-attributes
time.sleep(2)
def test_09_add_omsAttributes_ROADMA_ROADMC(self):
# Config ROADMA-ROADMC oms-attributes
- url = ("{}/config/ietf-network:networks/network/openroadm-topology/ietf-network-topology:"
- "link/ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX/org-openroadm-network-topology:"
- "OMS-attributes/span"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/ietf-network-topology:"
+ "link/ROADMA01-DEG1-DEG1-TTP-TXRXtoROADMC01-DEG2-DEG2-TTP-TXRX/"
+ "org-openroadm-network-topology:"
+ "OMS-attributes/span"
+ .format(self.restconf_baseurl))
"auto-spanloss": "true",
"spanloss-base": 11.4,
"spanloss-current": 12,
"auto-spanloss": "true",
"spanloss-base": 11.4,
"spanloss-current": 12,
def test_10_add_omsAttributes_ROADMC_ROADMA(self):
# Config ROADMC-ROADMA oms-attributes
def test_10_add_omsAttributes_ROADMC_ROADMA(self):
# Config ROADMC-ROADMA oms-attributes
- url = ("{}/config/ietf-network:networks/network/openroadm-topology/ietf-network-topology:"
- "link/ROADMC01-DEG2-DEG2-TTP-TXRXtoROADMA01-DEG1-DEG1-TTP-TXRX/org-openroadm-network-topology:"
- "OMS-attributes/span"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/ietf-network-topology:"
+ "link/ROADMC01-DEG2-DEG2-TTP-TXRXtoROADMA01-DEG1-DEG1-TTP-TXRX/"
+ "org-openroadm-network-topology:"
+ "OMS-attributes/span"
+ .format(self.restconf_baseurl))
- "auto-spanloss": "true",
- "spanloss-base": 11.4,
- "spanloss-current": 12,
- "engineered-spanloss": 12.2,
- "link-concatenation": [{
- "SRLG-Id": 0,
- "fiber-type": "smf",
- "SRLG-length": 100000,
- "pmd": 0.5}]}}
+ "clfi": "fiber1",
+ "auto-spanloss": "true",
+ "spanloss-base": 11.4,
+ "spanloss-current": 12,
+ "engineered-spanloss": 12.2,
+ "link-concatenation": [{
+ "SRLG-Id": 0,
+ "fiber-type": "smf",
+ "SRLG-length": 100000,
+ "pmd": 0.5}]}}
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.created)
headers = {'content-type': 'application/json'}
response = requests.request(
"PUT", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.created)
-#test service-create for Eth service from xpdr to xpdr
+ # test service-create for Eth service from xpdr to xpdr
def test_11_create_eth_service1(self):
url = ("{}/operations/org-openroadm-service:service-create"
def test_11_create_eth_service1(self):
url = ("{}/operations/org-openroadm-service:service-create"
- .format(self.restconf_baseurl))
- data = {"input": {
+ .format(self.restconf_baseurl))
+ data = {
+ "input": {
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
},
"service-name": "service1",
"common-id": "ASATT1234567",
},
"service-name": "service1",
"common-id": "ASATT1234567",
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(self.WAITING)
def test_12_get_eth_service1(self):
time.sleep(self.WAITING)
def test_12_get_eth_service1(self):
- url = ("{}/operational/org-openroadm-service:service-list/services/service1"
- .format(self.restconf_baseurl))
+ url = ("{}/operational/org-openroadm-service:service-list/services/"
+ "service1".format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(2)
def test_13_check_xc1_ROADMA(self):
time.sleep(2)
def test_13_check_xc1_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/SRG1-PP1-TXRX-DEG1-TTP-TXRX-1"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMA01/yang-ext:"
+ "mount/org-openroadm-device:org-openroadm-device/"
+ "roadm-connections/SRG1-PP1-TXRX-DEG1-TTP-TXRX-1"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'SRG1-PP1-TXRX-DEG1-TTP-TXRX-1',
- 'wavelength-number': 1,
- 'opticalControlMode': 'gainLoss',
- 'target-output-power': -3.0},
- res['roadm-connections'][0])
+ {'connection-number': 'SRG1-PP1-TXRX-DEG1-TTP-TXRX-1',
+ 'wavelength-number': 1,
+ 'opticalControlMode': 'gainLoss',
+ 'target-output-power': -3.0},
+ res['roadm-connections'][0])
- {'src-if': 'SRG1-PP1-TXRX-1'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'SRG1-PP1-TXRX-1'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'DEG1-TTP-TXRX-1'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'DEG1-TTP-TXRX-1'},
+ res['roadm-connections'][0]['destination'])
time.sleep(5)
def test_14_check_xc1_ROADMC(self):
time.sleep(5)
def test_14_check_xc1_ROADMC(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMC01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-1"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMC01/yang-ext:mount/org-openroadm-device:"
+ "org-openroadm-device/"
+ "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-1"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-1',
- 'wavelength-number': 1,
- 'opticalControlMode': 'gainLoss',
- 'target-output-power': 2.0},
- res['roadm-connections'][0])
+ {'connection-number': 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-1',
+ 'wavelength-number': 1,
+ 'opticalControlMode': 'gainLoss',
+ 'target-output-power': 2.0},
+ res['roadm-connections'][0])
- {'src-if': 'SRG1-PP1-TXRX-1'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'SRG1-PP1-TXRX-1'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'DEG2-TTP-TXRX-1'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'DEG2-TTP-TXRX-1'},
+ res['roadm-connections'][0]['destination'])
time.sleep(5)
def test_15_check_topo_XPDRA(self):
time.sleep(5)
def test_15_check_topo_XPDRA(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/XPDRA01-XPDR1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/XPDRA01-XPDR1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'XPDR1-NETWORK1':
self.assertEqual({u'frequency': 196.1, u'width': 40},
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'XPDR1-NETWORK1':
self.assertEqual({u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
- if ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3':
- self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
+ ele[
+ 'org-openroadm-network-topology:'
+ 'xpdr-network-attributes'][
+ 'wavelength'])
+ if ele['tp-id'] == 'XPDR1-CLIENT1' or \
+ ele['tp-id'] == 'XPDR1-CLIENT3':
+ self.assertNotIn(
+ 'org-openroadm-network-topology:xpdr-client-attributes',
+ dict.keys(ele))
if ele['tp-id'] == 'XPDR1-NETWORK2':
if ele['tp-id'] == 'XPDR1-NETWORK2':
- self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
+ self.assertNotIn(
+ 'org-openroadm-network-topology:xpdr-network-attributes',
+ dict.keys(ele))
time.sleep(3)
def test_16_check_topo_ROADMA_SRG1(self):
time.sleep(3)
def test_16_check_topo_ROADMA_SRG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-SRG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-SRG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertNotIn({u'index': 1},
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertNotIn({u'index': 1},
- res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+ res['node'][0][
+ u'org-openroadm-network-topology:srg-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'SRG1-PP1-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'SRG1-PP1-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:pp-attributes']['used-wavelength'])
+ ele['org-openroadm-network-topology:'
+ 'pp-attributes']['used-wavelength']
+ )
if ele['tp-id'] == 'SRG1-PP2-TXRX':
self.assertNotIn('used-wavelength', dict.keys(ele))
time.sleep(3)
def test_17_check_topo_ROADMA_DEG1(self):
if ele['tp-id'] == 'SRG1-PP2-TXRX':
self.assertNotIn('used-wavelength', dict.keys(ele))
time.sleep(3)
def test_17_check_topo_ROADMA_DEG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-DEG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-DEG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertNotIn({u'index': 1},
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertNotIn({u'index': 1},
- res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+ res['node'][0][
+ u'org-openroadm-network-topology:'
+ u'degree-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'ctp-attributes'][
+ 'used-wavelengths'])
if ele['tp-id'] == 'DEG1-TTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
if ele['tp-id'] == 'DEG1-TTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:tx-ttp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'tx-ttp-attributes'][
+ 'used-wavelengths'])
time.sleep(3)
def test_18_connect_xprdA_N2_to_roadmA_PP2(self):
time.sleep(3)
def test_18_connect_xprdA_N2_to_roadmA_PP2(self):
- url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".\
+ format(self.restconf_baseurl)
data = {
"networkutils:input": {
"networkutils:links-input": {
data = {
"networkutils:input": {
"networkutils:links-input": {
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Xponder Roadm Link created successfully', res["output"]["result"])
+ self.assertIn('Xponder Roadm Link created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_19_connect_roadmA_PP2_to_xpdrA_N2(self):
time.sleep(2)
def test_19_connect_roadmA_PP2_to_xpdrA_N2(self):
- url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".\
+ format(self.restconf_baseurl)
data = {
"networkutils:input": {
"networkutils:links-input": {
data = {
"networkutils:input": {
"networkutils:links-input": {
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Roadm Xponder links created successfully', res["output"]["result"])
+ self.assertIn('Roadm Xponder links created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_20_connect_xprdC_N2_to_roadmC_PP2(self):
time.sleep(2)
def test_20_connect_xprdC_N2_to_roadmC_PP2(self):
- url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".\
+ format(self.restconf_baseurl)
data = {
"networkutils:input": {
"networkutils:links-input": {
data = {
"networkutils:input": {
"networkutils:links-input": {
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Xponder Roadm Link created successfully', res["output"]["result"])
+ self.assertIn('Xponder Roadm Link created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_21_connect_roadmC_PP2_to_xpdrC_N2(self):
time.sleep(2)
def test_21_connect_roadmC_PP2_to_xpdrC_N2(self):
- url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".format(self.restconf_baseurl)
+ url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".\
+ format(self.restconf_baseurl)
data = {
"networkutils:input": {
"networkutils:links-input": {
data = {
"networkutils:input": {
"networkutils:links-input": {
}
headers = {'content-type': 'application/json'}
response = requests.request(
}
headers = {'content-type': 'application/json'}
response = requests.request(
- "POST", url, data=json.dumps(data),
- headers=headers, auth=('admin', 'admin'))
+ "POST", url, data=json.dumps(data),
+ headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn('Roadm Xponder links created successfully', res["output"]["result"])
+ self.assertIn('Roadm Xponder links created successfully',
+ res["output"]["result"])
time.sleep(2)
def test_22_create_eth_service2(self):
url = ("{}/operations/org-openroadm-service:service-create"
time.sleep(2)
def test_22_create_eth_service2(self):
url = ("{}/operations/org-openroadm-service:service-create"
- .format(self.restconf_baseurl))
- data = {"input": {
+ .format(self.restconf_baseurl))
+ data = {
+ "input": {
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
},
"service-name": "service2",
"common-id": "ASATT1234567",
},
"service-name": "service2",
"common-id": "ASATT1234567",
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(self.WAITING)
def test_23_get_eth_service2(self):
time.sleep(self.WAITING)
def test_23_get_eth_service2(self):
- url = ("{}/operational/org-openroadm-service:service-list/services/service2"
- .format(self.restconf_baseurl))
+ url = ("{}/operational/org-openroadm-service:"
+ "service-list/services/service2"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(1)
def test_24_check_xc2_ROADMA(self):
time.sleep(1)
def test_24_check_xc2_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/DEG1-TTP-TXRX-SRG1-PP2-TXRX-2"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMA01/yang-ext:"
+ "mount/org-openroadm-device:org-openroadm-device/"
+ "roadm-connections/DEG1-TTP-TXRX-SRG1-PP2-TXRX-2"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'DEG1-TTP-TXRX-SRG1-PP2-TXRX-2',
- 'wavelength-number': 2,
- 'opticalControlMode': 'power'},
- res['roadm-connections'][0])
+ {'connection-number': 'DEG1-TTP-TXRX-SRG1-PP2-TXRX-2',
+ 'wavelength-number': 2,
+ 'opticalControlMode': 'power'},
+ res['roadm-connections'][0])
- {'src-if': 'DEG1-TTP-TXRX-2'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'DEG1-TTP-TXRX-2'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'SRG1-PP2-TXRX-2'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'SRG1-PP2-TXRX-2'},
+ res['roadm-connections'][0]['destination'])
def test_25_check_topo_XPDRA(self):
def test_25_check_topo_XPDRA(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/XPDRA01-XPDR1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/XPDRA01-XPDR1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'XPDR1-NETWORK1':
self.assertEqual({u'frequency': 196.1, u'width': 40},
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'XPDR1-NETWORK1':
self.assertEqual({u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
+ ele['org-openroadm-network-topology:'
+ 'xpdr-network-attributes'][
+ 'wavelength'])
if ele['tp-id'] == 'XPDR1-NETWORK2':
self.assertEqual({u'frequency': 196.05, u'width': 40},
if ele['tp-id'] == 'XPDR1-NETWORK2':
self.assertEqual({u'frequency': 196.05, u'width': 40},
- ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
- if ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3':
- self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
+ ele['org-openroadm-network-topology:'
+ 'xpdr-network-attributes'][
+ 'wavelength'])
+ if ele['tp-id'] == 'XPDR1-CLIENT1' or \
+ ele['tp-id'] == 'XPDR1-CLIENT3':
+ self.assertNotIn(
+ 'org-openroadm-network-topology:xpdr-client-attributes',
+ dict.keys(ele))
time.sleep(10)
def test_26_check_topo_ROADMA_SRG1(self):
time.sleep(10)
def test_26_check_topo_ROADMA_SRG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-SRG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-SRG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertNotIn({u'index': 1}, res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
- self.assertNotIn({u'index': 2}, res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+ self.assertNotIn({u'index': 1}, res['node'][0][
+ u'org-openroadm-network-topology:srg-attributes'][
+ 'available-wavelengths'])
+ self.assertNotIn({u'index': 2}, res['node'][0][
+ u'org-openroadm-network-topology:srg-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'SRG1-PP1-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'SRG1-PP1-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:pp-attributes']['used-wavelength'])
- self.assertNotIn({u'index': 2, u'frequency': 196.05, u'width': 40},
- ele['org-openroadm-network-topology:pp-attributes']['used-wavelength'])
+ ele['org-openroadm-network-topology:'
+ 'pp-attributes']['used-wavelength'])
+ self.assertNotIn({u'index': 2, u'frequency': 196.05,
+ u'width': 40},
+ ele['org-openroadm-network-topology:'
+ 'pp-attributes']['used-wavelength'])
if ele['tp-id'] == 'SRG1-PP2-TXRX':
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
if ele['tp-id'] == 'SRG1-PP2-TXRX':
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
- ele['org-openroadm-network-topology:pp-attributes']['used-wavelength'])
- self.assertNotIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:pp-attributes']['used-wavelength'])
+ ele['org-openroadm-network-topology:'
+ 'pp-attributes']['used-wavelength'])
+ self.assertNotIn({u'index': 1, u'frequency': 196.1,
+ u'width': 40},
+ ele['org-openroadm-network-topology:'
+ 'pp-attributes']['used-wavelength'])
if ele['tp-id'] == 'SRG1-PP3-TXRX':
if ele['tp-id'] == 'SRG1-PP3-TXRX':
- self.assertNotIn('org-openroadm-network-topology:pp-attributes', dict.keys(ele))
+ self.assertNotIn('org-openroadm-network-topology:pp-attributes',
+ dict.keys(ele))
time.sleep(10)
def test_27_check_topo_ROADMA_DEG1(self):
time.sleep(10)
def test_27_check_topo_ROADMA_DEG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-DEG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-DEG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertNotIn({u'index': 1}, res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
- self.assertNotIn({u'index': 2}, res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+ self.assertNotIn({u'index': 1}, res['node'][0][
+ u'org-openroadm-network-topology:degree-attributes'][
+ 'available-wavelengths'])
+ self.assertNotIn({u'index': 2}, res['node'][0][
+ u'org-openroadm-network-topology:degree-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'ctp-attributes']['used-wavelengths'])
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
- ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'ctp-attributes']['used-wavelengths'])
if ele['tp-id'] == 'DEG1-TTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
if ele['tp-id'] == 'DEG1-TTP-TXRX':
self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
- ele['org-openroadm-network-topology:tx-ttp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'tx-ttp-attributes']['used-wavelengths'])
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
- ele['org-openroadm-network-topology:tx-ttp-attributes']['used-wavelengths'])
+ ele['org-openroadm-network-topology:'
+ 'tx-ttp-attributes']['used-wavelengths'])
-# creation service test on a non-available resource
+ # creation service test on a non-available resource
def test_28_create_eth_service3(self):
url = ("{}/operations/org-openroadm-service:service-create"
def test_28_create_eth_service3(self):
url = ("{}/operations/org-openroadm-service:service-create"
- .format(self.restconf_baseurl))
- data = {"input": {
+ .format(self.restconf_baseurl))
+ data = {
+ "input": {
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
},
"service-name": "service3",
"common-id": "ASATT1234567",
},
"service-name": "service3",
"common-id": "ASATT1234567",
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
- res['output']['configuration-response-common']['response-message'])
- self.assertIn('200', res['output']['configuration-response-common']['response-code'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
+ self.assertIn('200', res['output']['configuration-response-common'][
+ 'response-code'])
-# add a test that check the openroadm-service-list still only contains 2 elements
+ # add a test that check the openroadm-service-list still only
+ # contains 2 elements
def test_29_delete_eth_service3(self):
url = ("{}/operations/org-openroadm-service:service-delete"
def test_29_delete_eth_service3(self):
url = ("{}/operations/org-openroadm-service:service-delete"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "sdnc-request-header": {
- "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
- "rpc-action": "service-delete",
- "request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
- "service-delete-req-info": {
- "service-name": "service3",
- "tail-retention": "no"
- }
+ "sdnc-request-header": {
+ "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
+ "rpc-action": "service-delete",
+ "request-system-id": "appname",
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
+ "service-delete-req-info": {
+ "service-name": "service3",
+ "tail-retention": "no"
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Service \'service3\' does not exist in datastore',
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Service \'service3\' does not exist in datastore',
- res['output']['configuration-response-common']['response-message'])
- self.assertIn('500', res['output']['configuration-response-common']['response-code'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
+ self.assertIn('500', res['output']['configuration-response-common'][
+ 'response-code'])
time.sleep(20)
def test_30_delete_eth_service1(self):
url = ("{}/operations/org-openroadm-service:service-delete"
time.sleep(20)
def test_30_delete_eth_service1(self):
url = ("{}/operations/org-openroadm-service:service-delete"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "sdnc-request-header": {
- "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
- "rpc-action": "service-delete",
- "request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
- "service-delete-req-info": {
- "service-name": "service1",
- "tail-retention": "no"
- }
+ "sdnc-request-header": {
+ "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
+ "rpc-action": "service-delete",
+ "request-system-id": "appname",
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
+ "service-delete-req-info": {
+ "service-name": "service1",
+ "tail-retention": "no"
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(20)
def test_31_delete_eth_service2(self):
url = ("{}/operations/org-openroadm-service:service-delete"
time.sleep(20)
def test_31_delete_eth_service2(self):
url = ("{}/operations/org-openroadm-service:service-delete"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "sdnc-request-header": {
- "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
- "rpc-action": "service-delete",
- "request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
- "service-delete-req-info": {
- "service-name": "service2",
- "tail-retention": "no"
- }
+ "sdnc-request-header": {
+ "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
+ "rpc-action": "service-delete",
+ "request-system-id": "appname",
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
+ "service-delete-req-info": {
+ "service-name": "service2",
+ "tail-retention": "no"
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(20)
def test_32_check_no_xc_ROADMA(self):
time.sleep(20)
def test_32_check_no_xc_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMA01/yang-ext:"
+ "mount/org-openroadm-device:org-openroadm-device/"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url, auth=('admin', 'admin'))
+ "GET", url, auth=('admin', 'admin'))
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
- self.assertNotIn('roadm-connections', dict.keys(res['org-openroadm-device']))
+ self.assertNotIn('roadm-connections',
+ dict.keys(res['org-openroadm-device']))
time.sleep(2)
def test_33_check_topo_XPDRA(self):
time.sleep(2)
def test_33_check_topo_XPDRA(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/XPDRA01-XPDR1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/XPDRA01-XPDR1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
- if ((ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-CLIENT')
- and (ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3')):
- self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
- elif (ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-NETWORK'):
- self.assertIn(u'tail-equipment-id', dict.keys(ele[u'org-openroadm-network-topology:xpdr-network-attributes']))
- self.assertNotIn('wavelength', dict.keys(ele[u'org-openroadm-network-topology:xpdr-network-attributes']))
+ if ((ele[u'org-openroadm-common-network:tp-type'] ==
+ 'XPONDER-CLIENT')
+ and (ele['tp-id'] == 'XPDR1-CLIENT1' or ele[
+ 'tp-id'] == 'XPDR1-CLIENT3')):
+ self.assertNotIn(
+ 'org-openroadm-network-topology:xpdr-client-attributes',
+ dict.keys(ele))
+ elif (ele[u'org-openroadm-common-network:tp-type'] ==
+ 'XPONDER-NETWORK'):
+ self.assertIn(u'tail-equipment-id', dict.keys(
+ ele[u'org-openroadm-network-topology:'
+ u'xpdr-network-attributes']))
+ self.assertNotIn('wavelength', dict.keys(
+ ele[u'org-openroadm-network-topology:'
+ u'xpdr-network-attributes']))
time.sleep(10)
def test_34_check_topo_ROADMA_SRG1(self):
time.sleep(10)
def test_34_check_topo_ROADMA_SRG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-SRG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-SRG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn({u'index': 1}, res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
- self.assertIn({u'index': 2}, res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+ self.assertIn({u'index': 1}, res['node'][0][
+ u'org-openroadm-network-topology:srg-attributes'][
+ 'available-wavelengths'])
+ self.assertIn({u'index': 2}, res['node'][0][
+ u'org-openroadm-network-topology:srg-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
- if ele['tp-id'] == 'SRG1-PP1-TXRX' or ele['tp-id'] == 'SRG1-PP1-TXRX':
- self.assertNotIn('org-openroadm-network-topology:pp-attributes', dict.keys(ele))
+ if ele['tp-id'] == 'SRG1-PP1-TXRX' or \
+ ele['tp-id'] == 'SRG1-PP1-TXRX':
+ self.assertNotIn('org-openroadm-network-topology:pp-attributes',
+ dict.keys(ele))
- self.assertNotIn('org-openroadm-network-topology:pp-attributes', dict.keys(ele))
+ self.assertNotIn('org-openroadm-network-topology:pp-attributes',
+ dict.keys(ele))
time.sleep(10)
def test_35_check_topo_ROADMA_DEG1(self):
time.sleep(10)
def test_35_check_topo_ROADMA_DEG1(self):
- url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADMA01-DEG1"
- .format(self.restconf_baseurl))
+ url1 = (
+ "{}/config/ietf-network:"
+ "networks/network/openroadm-topology/node/ROADMA01-DEG1"
+ .format(self.restconf_baseurl))
response = requests.request(
response = requests.request(
- "GET", url1, auth=('admin', 'admin'))
+ "GET", url1, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertIn({u'index': 1}, res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
- self.assertIn({u'index': 2}, res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+ self.assertIn({u'index': 1}, res['node'][0][
+ u'org-openroadm-network-topology:degree-attributes'][
+ 'available-wavelengths'])
+ self.assertIn({u'index': 2}, res['node'][0][
+ u'org-openroadm-network-topology:degree-attributes'][
+ 'available-wavelengths'])
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
liste_tp = res['node'][0]['ietf-network-topology:termination-point']
for ele in liste_tp:
if ele['tp-id'] == 'DEG1-CTP-TXRX':
- self.assertNotIn('org-openroadm-network-topology:ctp-attributes', dict.keys(ele))
+ self.assertNotIn('org-openroadm-network-topology:'
+ 'ctp-attributes', dict.keys(ele))
if ele['tp-id'] == 'DEG1-TTP-TXRX':
if ele['tp-id'] == 'DEG1-TTP-TXRX':
- self.assertNotIn('org-openroadm-network-topology:tx-ttp-attributes', dict.keys(ele))
+ self.assertNotIn('org-openroadm-network-topology:'
+ 'tx-ttp-attributes', dict.keys(ele))
-
-# test service-create for Optical Channel (OC) service from srg-pp to srg-pp
+ # test service-create for Optical Channel (OC) service from srg-pp to srg-pp
def test_36_create_oc_service1(self):
url = ("{}/operations/org-openroadm-service:service-create"
def test_36_create_oc_service1(self):
url = ("{}/operations/org-openroadm-service:service-create"
- .format(self.restconf_baseurl))
- data = {"input": {
+ .format(self.restconf_baseurl))
+ data = {
+ "input": {
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
},
"service-name": "service1",
"common-id": "ASATT1234567",
},
"service-name": "service1",
"common-id": "ASATT1234567",
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(self.WAITING)
def test_37_get_oc_service1(self):
time.sleep(self.WAITING)
def test_37_get_oc_service1(self):
- url = ("{}/operational/org-openroadm-service:service-list/services/service1"
- .format(self.restconf_baseurl))
+ url = ("{}/operational/org-openroadm-service:"
+ "service-list/services/service1"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(1)
def test_38_check_xc1_ROADMA(self):
time.sleep(1)
def test_38_check_xc1_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/SRG1-PP1-TXRX-DEG1-TTP-TXRX-1"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMA01/yang-ext:"
+ "mount/org-openroadm-device:org-openroadm-device/"
+ "roadm-connections/SRG1-PP1-TXRX-DEG1-TTP-TXRX-1"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'SRG1-PP1-TXRX-DEG1-TTP-TXRX-1',
- 'wavelength-number': 1,
- 'opticalControlMode': 'gainLoss',
- 'target-output-power': -3.0},
- res['roadm-connections'][0])
+ {'connection-number': 'SRG1-PP1-TXRX-DEG1-TTP-TXRX-1',
+ 'wavelength-number': 1,
+ 'opticalControlMode': 'gainLoss',
+ 'target-output-power': -3.0},
+ res['roadm-connections'][0])
- {'src-if': 'SRG1-PP1-TXRX-1'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'SRG1-PP1-TXRX-1'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'DEG1-TTP-TXRX-1'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'DEG1-TTP-TXRX-1'},
+ res['roadm-connections'][0]['destination'])
time.sleep(7)
def test_39_check_xc1_ROADMC(self):
time.sleep(7)
def test_39_check_xc1_ROADMC(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMC01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-1"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMC01/yang-ext:mount/org-openroadm-device:"
+ "org-openroadm-device/"
+ "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-1"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-1',
- 'wavelength-number': 1,
- 'opticalControlMode': 'gainLoss',
- 'target-output-power': 2.0},
- res['roadm-connections'][0])
+ {'connection-number': 'SRG1-PP1-TXRX-DEG2-TTP-TXRX-1',
+ 'wavelength-number': 1,
+ 'opticalControlMode': 'gainLoss',
+ 'target-output-power': 2.0},
+ res['roadm-connections'][0])
- {'src-if': 'SRG1-PP1-TXRX-1'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'SRG1-PP1-TXRX-1'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'DEG2-TTP-TXRX-1'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'DEG2-TTP-TXRX-1'},
+ res['roadm-connections'][0]['destination'])
time.sleep(7)
def test_40_create_oc_service2(self):
url = ("{}/operations/org-openroadm-service:service-create"
time.sleep(7)
def test_40_create_oc_service2(self):
url = ("{}/operations/org-openroadm-service:service-create"
- .format(self.restconf_baseurl))
- data = {"input": {
+ .format(self.restconf_baseurl))
+ data = {
+ "input": {
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
"sdnc-request-header": {
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-create",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
},
"service-name": "service2",
"common-id": "ASATT1234567",
},
"service-name": "service2",
"common-id": "ASATT1234567",
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJP8",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.3",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJP8_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJP8_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJP8_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJP8_000000.00_00",
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.4",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
"clli": "SNJSCAMCJT4",
"tx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.29",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
},
"rx-direction": {
"port": {
},
"rx-direction": {
"port": {
- "port-device-name": "ROUTER_SNJSCAMCJT4_000000.00_00",
+ "port-device-name":
+ "ROUTER_SNJSCAMCJT4_000000.00_00",
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
"port-type": "router",
"port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
"port-rack": "000000.00",
"port-shelf": "00"
},
"lgx": {
- "lgx-device-name": "LGX Panel_SNJSCAMCJT4_000000.00_00",
+ "lgx-device-name":
+ "LGX Panel_SNJSCAMCJT4_000000.00_00",
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
"lgx-port-name": "LGX Back.30",
"lgx-port-rack": "000000.00",
"lgx-port-shelf": "00"
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('PCE calculation in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(self.WAITING)
def test_41_get_oc_service2(self):
time.sleep(self.WAITING)
def test_41_get_oc_service2(self):
- url = ("{}/operational/org-openroadm-service:service-list/services/service2"
- .format(self.restconf_baseurl))
+ url = ("{}/operational/org-openroadm-service:"
+ "service-list/services/service2"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(2)
def test_42_check_xc2_ROADMA(self):
time.sleep(2)
def test_42_check_xc2_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
- "node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- "roadm-connections/SRG1-PP2-TXRX-DEG1-TTP-TXRX-2"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf/"
+ "node/ROADMA01/yang-ext:mount/org-openroadm-device:"
+ "org-openroadm-device/"
+ "roadm-connections/SRG1-PP2-TXRX-DEG1-TTP-TXRX-2"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
headers = {'content-type': 'application/json'}
response = requests.request(
- "GET", url, headers=headers, auth=('admin', 'admin'))
+ "GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertDictContainsSubset(
- {'connection-number': 'SRG1-PP2-TXRX-DEG1-TTP-TXRX-2',
- 'wavelength-number': 2,
- 'opticalControlMode': 'gainLoss',
- 'target-output-power': -3.0},
- res['roadm-connections'][0])
+ {'connection-number': 'SRG1-PP2-TXRX-DEG1-TTP-TXRX-2',
+ 'wavelength-number': 2,
+ 'opticalControlMode': 'gainLoss',
+ 'target-output-power': -3.0},
+ res['roadm-connections'][0])
- {'src-if': 'SRG1-PP2-TXRX-2'},
- res['roadm-connections'][0]['source'])
+ {'src-if': 'SRG1-PP2-TXRX-2'},
+ res['roadm-connections'][0]['source'])
- {'dst-if': 'DEG1-TTP-TXRX-2'},
- res['roadm-connections'][0]['destination'])
+ {'dst-if': 'DEG1-TTP-TXRX-2'},
+ res['roadm-connections'][0]['destination'])
time.sleep(2)
def test_43_check_topo_ROADMA(self):
time.sleep(2)
def test_43_check_topo_ROADMA(self):
def test_44_delete_oc_service1(self):
url = ("{}/operations/org-openroadm-service:service-delete"
def test_44_delete_oc_service1(self):
url = ("{}/operations/org-openroadm-service:service-delete"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "sdnc-request-header": {
- "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
- "rpc-action": "service-delete",
- "request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
- "service-delete-req-info": {
- "service-name": "service1",
- "tail-retention": "no"
- }
+ "sdnc-request-header": {
+ "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
+ "rpc-action": "service-delete",
+ "request-system-id": "appname",
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
+ "service-delete-req-info": {
+ "service-name": "service1",
+ "tail-retention": "no"
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(20)
def test_45_delete_oc_service2(self):
url = ("{}/operations/org-openroadm-service:service-delete"
time.sleep(20)
def test_45_delete_oc_service2(self):
url = ("{}/operations/org-openroadm-service:service-delete"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
- "sdnc-request-header": {
- "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
- "rpc-action": "service-delete",
- "request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
- "service-delete-req-info": {
- "service-name": "service2",
- "tail-retention": "no"
- }
+ "sdnc-request-header": {
+ "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
+ "rpc-action": "service-delete",
+ "request-system-id": "appname",
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
+ "service-delete-req-info": {
+ "service-name": "service2",
+ "tail-retention": "no"
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
headers = {'content-type': 'application/json'}
response = requests.request(
"POST", url, data=json.dumps(data), headers=headers,
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
self.assertIn('Renderer service delete in progress',
- res['output']['configuration-response-common']['response-message'])
+ res['output']['configuration-response-common'][
+ 'response-message'])
time.sleep(20)
def test_46_get_no_oc_services(self):
time.sleep(20)
def test_46_get_no_oc_services(self):
url = ("{}/operational/org-openroadm-service:service-list"
url = ("{}/operational/org-openroadm-service:service-list"
- .format(self.restconf_baseurl))
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.not_found)
res = response.json()
self.assertIn(
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.not_found)
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"},
+ {
+ "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'])
time.sleep(1)
def test_47_get_no_xc_ROADMA(self):
res['errors']['error'])
time.sleep(1)
def test_47_get_no_xc_ROADMA(self):
- url = ("{}/config/network-topology:network-topology/topology/topology-netconf"
- "/node/ROADMA01/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
- .format(self.restconf_baseurl))
+ url = (
+ "{}/config/network-topology:"
+ "network-topology/topology/topology-netconf"
+ "/node/ROADMA01/yang-ext:mount/org-openroadm-device:"
+ "org-openroadm-device/"
+ .format(self.restconf_baseurl))
headers = {'content-type': 'application/json',
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
response = requests.request(
"GET", url, headers=headers, auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
self.test_35_check_topo_ROADMA_DEG1()
def test_49_loop_create_eth_service(self):
self.test_35_check_topo_ROADMA_DEG1()
def test_49_loop_create_eth_service(self):
- for i in range(1,6):
- print ("trial number {}".format(i))
+ for i in range(1, 6):
+ print("trial number {}".format(i))
print("eth service creation")
self.test_11_create_eth_service1()
print("eth service creation")
self.test_11_create_eth_service1()
- print ("check xc in ROADMA01")
+ print("check xc in ROADMA01")
self.test_13_check_xc1_ROADMA()
self.test_13_check_xc1_ROADMA()
- print ("check xc in ROADMC01")
+ print("check xc in ROADMC01")
self.test_14_check_xc1_ROADMC()
self.test_14_check_xc1_ROADMC()
- print ("eth service deletion\n")
+ print("eth service deletion\n")
self.test_30_delete_eth_service1()
def test_50_loop_create_oc_service(self):
self.test_30_delete_eth_service1()
def test_50_loop_create_oc_service(self):
- url = ("{}/operational/org-openroadm-service:service-list/services/service1"
+ url = ("{}/operational/org-openroadm-service:"
+ "service-list/services/service1"
.format(self.restconf_baseurl))
response = requests.request("GET", url, auth=('admin', 'admin'))
if response.status_code != 404:
.format(self.restconf_baseurl))
response = requests.request("GET", url, auth=('admin', 'admin'))
if response.status_code != 404:
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-delete",
"request-system-id": "appname",
"request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
"rpc-action": "service-delete",
"request-system-id": "appname",
- "notification-url": "http://localhost:8585/NotificationServer/notify"
- },
+ "notification-url":
+ "http://localhost:8585/NotificationServer/notify"
+ },
"service-delete-req-info": {
"service-name": "service1",
"tail-retention": "no"
"service-delete-req-info": {
"service-name": "service1",
"tail-retention": "no"
headers = {'content-type': 'application/json'}
headers = {'content-type': 'application/json'}
- requests.request("POST", url, data=json.dumps(data), headers=headers, auth=('admin', 'admin'))
+ requests.request("POST", url, data=json.dumps(data),
+ headers=headers,
+ auth=('admin', 'admin')
+ )
- for i in range(1,6):
- print ("trial number {}".format(i))
+ for i in range(1, 6):
+ print("trial number {}".format(i))
print("oc service creation")
self.test_36_create_oc_service1()
print("oc service creation")
self.test_36_create_oc_service1()
- print ("check xc in ROADMA01")
+ print("check xc in ROADMA01")
self.test_38_check_xc1_ROADMA()
self.test_38_check_xc1_ROADMA()
- print ("check xc in ROADMC01")
+ print("check xc in ROADMC01")
self.test_39_check_xc1_ROADMC()
self.test_39_check_xc1_ROADMC()
- print ("oc service deletion\n")
+ print("oc service deletion\n")
self.test_44_delete_oc_service1()
def test_51_disconnect_XPDRA(self):
url = ("{}/config/network-topology:"
self.test_44_delete_oc_service1()
def test_51_disconnect_XPDRA(self):
url = ("{}/config/network-topology:"
- "network-topology/topology/topology-netconf/node/XPDRA01"
+ "network-topology/topology/topology-netconf/node/XPDRA01"
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
- "DELETE", url, headers=headers,
- auth=('admin', 'admin'))
+ "DELETE", url, headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_52_disconnect_XPDRC(self):
url = ("{}/config/network-topology:"
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_52_disconnect_XPDRC(self):
url = ("{}/config/network-topology:"
- "network-topology/topology/topology-netconf/node/XPDRC01"
+ "network-topology/topology/topology-netconf/node/XPDRC01"
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
- "DELETE", url, headers=headers,
- auth=('admin', 'admin'))
+ "DELETE", url, headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_53_disconnect_ROADMA(self):
url = ("{}/config/network-topology:"
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_53_disconnect_ROADMA(self):
url = ("{}/config/network-topology:"
- "network-topology/topology/topology-netconf/node/ROADMA01"
+ "network-topology/topology/topology-netconf/node/ROADMA01"
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
- "DELETE", url, headers=headers,
- auth=('admin', 'admin'))
+ "DELETE", url, headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_54_disconnect_ROADMC(self):
url = ("{}/config/network-topology:"
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
def test_54_disconnect_ROADMC(self):
url = ("{}/config/network-topology:"
- "network-topology/topology/topology-netconf/node/ROADMC01"
+ "network-topology/topology/topology-netconf/node/ROADMC01"
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
.format(self.restconf_baseurl))
headers = {'content-type': 'application/json'}
response = requests.request(
- "DELETE", url, headers=headers,
- auth=('admin', 'admin'))
+ "DELETE", url, headers=headers,
+ auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(10)
#!/usr/bin/env python
##############################################################################
#!/usr/bin/env python
##############################################################################
-#Copyright (c) 2017 Orange, Inc. and others. All rights reserved.
+# Copyright (c) 2017 Orange, Inc. and others. All rights reserved.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
import psutil
import requests
import signal
import psutil
import requests
import signal
-import shutil
-import subprocess
import time
import unittest
import time
import unittest
class TransportGNPYtesting(unittest.TestCase):
gnpy_process = None
class TransportGNPYtesting(unittest.TestCase):
gnpy_process = None
@classmethod
def setUpClass(cls):
@classmethod
def setUpClass(cls):
- print ("starting opendaylight...")
+ print("starting opendaylight...")
cls.odl_process = test_utils.start_tpce()
time.sleep(30)
cls.odl_process = test_utils.start_tpce()
time.sleep(30)
- print ("opendaylight started")
+ print("opendaylight started")
@classmethod
def tearDownClass(cls):
@classmethod
def tearDownClass(cls):
def setUp(self):
time.sleep(2)
def setUp(self):
time.sleep(2)
- #Mount the different topologies
+ # Mount the different topologies
def test_01_connect_clliNetwork(self):
url = ("{}/config/ietf-network:networks/network/clli-network"
.format(self.restconf_baseurl))
def test_01_connect_clliNetwork(self):
url = ("{}/config/ietf-network:networks/network/clli-network"
.format(self.restconf_baseurl))
- topo_clliNet_file = "sample_configs/gnpy/clliNetwork.json"
- if os.path.isfile(topo_clliNet_file):
- with open(topo_clliNet_file, 'r') as clli_net:
+ topo_cllinet_file = "sample_configs/gnpy/clliNetwork.json"
+ if os.path.isfile(topo_cllinet_file):
+ with open(topo_cllinet_file, 'r') as clli_net:
body = clli_net.read()
headers = {'content-type': 'application/json'}
response = requests.request(
body = clli_net.read()
headers = {'content-type': 'application/json'}
response = requests.request(
def test_02_connect_openroadmNetwork(self):
url = ("{}/config/ietf-network:networks/network/openroadm-network"
.format(self.restconf_baseurl))
def test_02_connect_openroadmNetwork(self):
url = ("{}/config/ietf-network:networks/network/openroadm-network"
.format(self.restconf_baseurl))
- topo_ordNet_file = "sample_configs/gnpy/openroadmNetwork.json"
- if os.path.isfile(topo_ordNet_file):
- with open(topo_ordNet_file, 'r') as ord_net:
+ topo_ordnet_file = "sample_configs/gnpy/openroadmNetwork.json"
+ if os.path.isfile(topo_ordnet_file):
+ with open(topo_ordnet_file, 'r') as ord_net:
body = ord_net.read()
headers = {'content-type': 'application/json'}
response = requests.request(
body = ord_net.read()
headers = {'content-type': 'application/json'}
response = requests.request(
def test_03_connect_openroadmTopology(self):
url = ("{}/config/ietf-network:networks/network/openroadm-topology"
.format(self.restconf_baseurl))
def test_03_connect_openroadmTopology(self):
url = ("{}/config/ietf-network:networks/network/openroadm-topology"
.format(self.restconf_baseurl))
- topo_ordTopo_file = "sample_configs/gnpy/openroadmTopology.json"
- if os.path.isfile(topo_ordTopo_file):
- with open(topo_ordTopo_file, 'r') as ord_topo:
+ topo_ordtopo_file = "sample_configs/gnpy/openroadmTopology.json"
+ if os.path.isfile(topo_ordtopo_file):
+ with open(topo_ordtopo_file, 'r') as ord_topo:
body = ord_topo.read()
headers = {'content-type': 'application/json'}
response = requests.request(
body = ord_topo.read()
headers = {'content-type': 'application/json'}
response = requests.request(
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(3)
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(3)
- #Path computed by PCE is feasible according to Gnpy
+ # Path computed by PCE is feasible according to Gnpy
def test_04_path_computation_FeasibleWithPCE(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
def test_04_path_computation_FeasibleWithPCE(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
- .format(self.restconf_baseurl))
- body = {"input": {
+ .format(self.restconf_baseurl))
+ body = {
+ "input": {
"service-name": "service-1",
"resource-reserve": "true",
"pce-metric": "hop-count",
"service-name": "service-1",
"resource-reserve": "true",
"pce-metric": "hop-count",
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertEqual(res['output']['configuration-response-common']['response-code'], '200')
- self.assertEqual(res['output']['configuration-response-common']['response-message'],
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-code'], '200')
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-message'],
'Path is calculated by PCE')
'Path is calculated by PCE')
- self.assertEqual(res['output']['gnpy-response'][0]['path-dir'], 'A-to-Z')
- self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],True)
- self.assertEqual(res['output']['gnpy-response'][1]['path-dir'], 'Z-to-A')
- self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],True)
+ self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
+ 'A-to-Z')
+ self.assertEqual(res['output']['gnpy-response'][0]['feasibility'], True)
+ self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
+ 'Z-to-A')
+ self.assertEqual(res['output']['gnpy-response'][1]['feasibility'], True)
- #Path computed by PCE is not feasible by GNPy and GNPy cannot find another one (low SNR)
+ # Path computed by PCE is not feasible by GNPy and GNPy cannot find
+ # another one (low SNR)
def test_05_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
def test_05_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
- .format(self.restconf_baseurl))
- body = {"input": {
+ .format(self.restconf_baseurl))
+ body = {
+ "input": {
"service-name": "service-2",
"resource-reserve": "true",
"pce-metric": "hop-count",
"service-name": "service-2",
"resource-reserve": "true",
"pce-metric": "hop-count",
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertEqual(res['output']['configuration-response-common']['response-code'], '500')
- self.assertEqual(res['output']['configuration-response-common']['response-message'],
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-code'], '500')
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-message'],
'No path available by PCE and GNPy ')
'No path available by PCE and GNPy ')
- self.assertEqual(res['output']['gnpy-response'][0]['path-dir'], 'A-to-Z')
- self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],False)
- self.assertEqual(res['output']['gnpy-response'][1]['path-dir'], 'Z-to-A')
- self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],False)
+ self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
+ 'A-to-Z')
+ self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],
+ False)
+ self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
+ 'Z-to-A')
+ self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],
+ False)
time.sleep(5)
# #PCE cannot find a path while GNPy finds a feasible one
def test_06_path_computation_NotFoundByPCE_FoundByGNPy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
time.sleep(5)
# #PCE cannot find a path while GNPy finds a feasible one
def test_06_path_computation_NotFoundByPCE_FoundByGNPy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
- .format(self.restconf_baseurl))
- body = {"input": {
+ .format(self.restconf_baseurl))
+ body = {
+ "input": {
"service-name": "service-3",
"resource-reserve": "true",
"pce-metric": "hop-count",
"service-name": "service-3",
"resource-reserve": "true",
"pce-metric": "hop-count",
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertEqual(res['output']['configuration-response-common']['response-code'], '200')
- self.assertEqual(res['output']['configuration-response-common']['response-message'],
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-code'], '200')
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-message'],
'Path is calculated by GNPy')
'Path is calculated by GNPy')
- self.assertEqual(res['output']['gnpy-response'][0]['path-dir'], 'A-to-Z')
- self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],True)
- self.assertEqual(res['output']['gnpy-response'][1]['path-dir'], 'Z-to-A')
- self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],True)
+ self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
+ 'A-to-Z')
+ self.assertEqual(res['output']['gnpy-response'][0]['feasibility'], True)
+ self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
+ 'Z-to-A')
+ self.assertEqual(res['output']['gnpy-response'][1]['feasibility'], True)
- #Not found path by PCE and GNPy cannot find another one
+ # Not found path by PCE and GNPy cannot find another one
def test_07_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
def test_07_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
url = ("{}/operations/transportpce-pce:path-computation-request"
- .format(self.restconf_baseurl))
- body = {"input": {
+ .format(self.restconf_baseurl))
+ body = {
+ "input": {
"service-name": "service-4",
"resource-reserve": "true",
"pce-metric": "hop-count",
"service-name": "service-4",
"resource-reserve": "true",
"pce-metric": "hop-count",
}
}
headers = {'content-type': 'application/json',
}
}
headers = {'content-type': 'application/json',
- "Accept": "application/json"}
+ "Accept": "application/json"}
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
response = requests.request(
"POST", url, data=json.dumps(body), headers=headers,
auth=('admin', 'admin'))
self.assertEqual(response.status_code, requests.codes.ok)
res = response.json()
- self.assertEqual(res['output']['configuration-response-common']['response-code'], '500')
- self.assertEqual(res['output']['configuration-response-common']['response-message'],
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-code'], '500')
+ self.assertEqual(res['output']['configuration-response-common'][
+ 'response-message'],
'No path available by PCE and GNPy ')
time.sleep(5)
'No path available by PCE and GNPy ')
time.sleep(5)
- #Disconnect the different topologies
+ # Disconnect the different topologies
def test_08_disconnect_openroadmTopology(self):
url = ("{}/config/ietf-network:networks/network/openroadm-topology"
.format(self.restconf_baseurl))
def test_08_disconnect_openroadmTopology(self):
url = ("{}/config/ietf-network:networks/network/openroadm-topology"
.format(self.restconf_baseurl))
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(3)
self.assertEqual(response.status_code, requests.codes.ok)
time.sleep(3)
if __name__ == "__main__":
if __name__ == "__main__":
- #logging.basicConfig(filename='./transportpce_tests/log/response.log',filemode='w',level=logging.DEBUG)
+ # logging.basicConfig(filename='./transportpce_tests/log/response.log',filemode='w',level=logging.DEBUG)
unittest.main(verbosity=2)
unittest.main(verbosity=2)
import os
import subprocess
import os
import subprocess
+honeynode_executable=os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "honeynode", "1.2.1", "honeynode-distribution", "target", "honeynode-distribution-1.19.04-hc",
+ "honeynode-distribution-1.19.04", "honeycomb-tpce")
+samples_directory=os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "sample_configs", "openroadm","1.2.1")
def start_xpdra_honeynode():
def start_xpdra_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode1.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode1.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17830", "sample_configs/openroadm/1.2.1/oper-XPDRA.xml"],
+ [honeynode_executable, "17830", os.path.join(samples_directory,"oper-XPDRA.xml")],
stdout=outfile, stderr=outfile)
def start_roadma_full_honeynode():
stdout=outfile, stderr=outfile)
def start_roadma_full_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17821", "sample_configs/openroadm/1.2.1/oper-ROADMA-full.xml"],
+ [honeynode_executable, "17821", os.path.join(samples_directory,"oper-ROADMA-full.xml")],
stdout=outfile, stderr=outfile)
def start_roadma_honeynode():
stdout=outfile, stderr=outfile)
def start_roadma_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17831", "sample_configs/openroadm/1.2.1/oper-ROADMA.xml"],
+ [honeynode_executable, "17831", os.path.join(samples_directory,"oper-ROADMA.xml")],
stdout=outfile, stderr=outfile)
def start_roadmb_honeynode():
stdout=outfile, stderr=outfile)
def start_roadmb_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17832", "sample_configs/openroadm/1.2.1/oper-ROADMB.xml"],
+ [honeynode_executable, "17832", os.path.join(samples_directory,"oper-ROADMB.xml")],
stdout=outfile, stderr=outfile)
def start_roadmc_full_honeynode():
stdout=outfile, stderr=outfile)
def start_roadmc_full_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17823", "sample_configs/openroadm/1.2.1/oper-ROADMC-full.xml"],
+ [honeynode_executable, "17823", os.path.join(samples_directory,"oper-ROADMC-full.xml")],
stdout=outfile, stderr=outfile)
def start_roadmc_honeynode():
stdout=outfile, stderr=outfile)
def start_roadmc_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17833", "sample_configs/openroadm/1.2.1/oper-ROADMC.xml"],
+ [honeynode_executable, "17833", os.path.join(samples_directory,"oper-ROADMC.xml")],
stdout=outfile, stderr=outfile)
def start_xpdrc_honeynode():
stdout=outfile, stderr=outfile)
def start_xpdrc_honeynode():
- executable = ("./honeynode/1.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17834", "sample_configs/openroadm/1.2.1/oper-XPDRC.xml"],
+ [honeynode_executable, "17834", os.path.join(samples_directory,"oper-XPDRC.xml")],
stdout=outfile, stderr=outfile)
def start_tpce():
if "USE_LIGHTY" in os.environ and os.environ['USE_LIGHTY'] == 'True':
print ("starting LIGHTY.IO TransportPCE build...")
stdout=outfile, stderr=outfile)
def start_tpce():
if "USE_LIGHTY" in os.environ and os.environ['USE_LIGHTY'] == 'True':
print ("starting LIGHTY.IO TransportPCE build...")
- executable = "../lighty/target/lighty-transportpce-12.0.0-SNAPSHOT/clean-start-controller.sh"
+ executable = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "..", "lighty", "target", "lighty-transportpce-12.0.0-SNAPSHOT",
+ "clean-start-controller.sh")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable], stdout=outfile, stderr=outfile,
stdin=open(os.devnull))
else:
print ("starting KARAF TransportPCE build...")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable], stdout=outfile, stderr=outfile,
stdin=open(os.devnull))
else:
print ("starting KARAF TransportPCE build...")
- executable = "../karaf/target/assembly/bin/karaf"
+ executable = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "..", "karaf", "target", "assembly", "bin", "karaf")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable, "server"], stdout=outfile, stderr=outfile,
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable, "server"], stdout=outfile, stderr=outfile,
import os
import subprocess
import os
import subprocess
+honeynode_executable=os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "honeynode", "2.2.1", "honeynode-distribution", "target", "honeynode-distribution-1.19.04-hc",
+ "honeynode-distribution-1.19.04", "honeycomb-tpce")
+samples_directory=os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "sample_configs", "openroadm", "2.2.1")
+
def start_xpdra_honeynode():
def start_xpdra_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode1.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode1.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17840", "sample_configs/openroadm/2.2.1/oper-XPDRA.xml"],
+ [honeynode_executable, "17840", os.path.join(samples_directory,"oper-XPDRA.xml")],
stdout=outfile, stderr=outfile)
def start_roadma_honeynode():
stdout=outfile, stderr=outfile)
def start_roadma_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode2.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17841", "sample_configs/openroadm/2.2.1/oper-ROADMA.xml"],
+ [honeynode_executable, "17841", os.path.join(samples_directory,"oper-ROADMA.xml")],
stdout=outfile, stderr=outfile)
def start_roadmb_honeynode():
stdout=outfile, stderr=outfile)
def start_roadmb_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode5.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode5.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17842", "sample_configs/openroadm/2.2.1/oper-ROADMB.xml"],
+ [honeynode_executable, "17842", os.path.join(samples_directory,"oper-ROADMB.xml")],
stdout=outfile, stderr=outfile)
def start_roadmc_honeynode():
stdout=outfile, stderr=outfile)
def start_roadmc_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode3.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17843", "sample_configs/openroadm/2.2.1/oper-ROADMC.xml"],
+ [honeynode_executable, "17843", os.path.join(samples_directory,"oper-ROADMC.xml")],
stdout=outfile, stderr=outfile)
def start_xpdrc_honeynode():
stdout=outfile, stderr=outfile)
def start_xpdrc_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode4.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17844", "sample_configs/openroadm/2.2.1/oper-XPDRC.xml"],
+ [honeynode_executable, "17844", os.path.join(samples_directory,"oper-XPDRC.xml")],
stdout=outfile, stderr=outfile)
def start_spdra_honeynode():
stdout=outfile, stderr=outfile)
def start_spdra_honeynode():
- executable = ("./honeynode/2.2.1/honeynode-distribution/target/honeynode-distribution-1.19.04-hc"
- "/honeynode-distribution-1.19.04/honeycomb-tpce")
- if os.path.isfile(executable):
+ if os.path.isfile(honeynode_executable):
with open('honeynode6.log', 'w') as outfile:
return subprocess.Popen(
with open('honeynode6.log', 'w') as outfile:
return subprocess.Popen(
- [executable, "17845", "sample_configs/openroadm/2.2.1/oper-SPDRAv2.xml"],
+ [honeynode_executable, "17845", os.path.join(samples_directory,"oper-SPDRAv2.xml")],
stdout=outfile, stderr=outfile)
def start_tpce():
if "USE_LIGHTY" in os.environ and os.environ['USE_LIGHTY'] == 'True':
print ("starting LIGHTY.IO TransportPCE build...")
stdout=outfile, stderr=outfile)
def start_tpce():
if "USE_LIGHTY" in os.environ and os.environ['USE_LIGHTY'] == 'True':
print ("starting LIGHTY.IO TransportPCE build...")
- executable = "../lighty/target/lighty-transportpce-12.0.0-SNAPSHOT/clean-start-controller.sh"
+ executable = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "..", "lighty", "target", "lighty-transportpce-12.0.0-SNAPSHOT",
+ "clean-start-controller.sh")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable], stdout=outfile, stderr=outfile,
stdin=open(os.devnull))
else:
print ("starting KARAF TransportPCE build...")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable], stdout=outfile, stderr=outfile,
stdin=open(os.devnull))
else:
print ("starting KARAF TransportPCE build...")
- executable = "../karaf/target/assembly/bin/karaf"
+ executable = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "..", "..", "..", "karaf", "target", "assembly", "bin", "karaf")
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable, "server"], stdout=outfile, stderr=outfile,
with open('odl.log', 'w') as outfile:
return subprocess.Popen(
["sh", executable, "server"], stdout=outfile, stderr=outfile,