+ url = ("{}/config/ietf-network:network/openroadm-topology/node/ROADMA-SRG1"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json',
+ "Accept": "application/json"}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.ok)
+ res = response.json()
+ self.assertEqual(
+ res['node'][0]['node-id'], 'ROADMA-SRG1')
+ time.sleep(1)
+
+ # Get existing linkId
+ def test_03_get_linkId(self):
+ url = ("{}/config/ietf-network:network/openroadm-topology/link/XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json',
+ "Accept": "application/json"}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.ok)
+ res = response.json()
+ self.assertEqual(
+ res['ietf-network-topology:link'][0]['link-id'],
+ 'XPDRA-XPDR1-XPDR1-NETWORK1toROADMA-SRG1-SRG1-PP1-TXRX')
+ time.sleep(1)
+
+ # Path Computation success
+ def test_04_path_computation_xpdr_bi(self):
+ url = ("{}/operations/transportpce-pce:path-computation-request"
+ .format(self.restconf_baseurl))
+ body = {"input": {
+ "service-name": "service-1",
+ "resource-reserve": "true",
+ "pce-metric": "hop-count",
+ "service-handler-header": {
+ "request-id": "request-1"
+ },
+ "service-a-end": {
+ "node-id": "XPDRA",
+ "service-rate": "0",
+ "clli": "nodeA"
+ },
+ "service-z-end": {
+ "node-id": "XPDRC",
+ "service-rate": "0",
+ "clli": "nodeC"
+ }
+ }
+ }
+ headers = {'content-type': '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()
+ self.assertIn('Path is calculated',
+ res['output']['configuration-response-common']['response-message'])
+ time.sleep(5)
+
+ # Path Computation success
+ def test_05_path_computation_rdm_bi(self):
+ url = ("{}/operations/transportpce-pce:path-computation-request"
+ .format(self.restconf_baseurl))
+ body = {"input": {
+ "service-name": "service-1",
+ "resource-reserve": "true",
+ "pce-metric": "hop-count",
+ "service-handler-header": {
+ "request-id": "request-1"
+ },
+ "service-a-end": {
+ "node-id": "ROADMA",
+ "service-rate": "0",
+ "clli": "nodeA"
+ },
+ "service-z-end": {
+ "node-id": "ROADMC",
+ "service-rate": "0",
+ "clli": "nodeC"
+ }
+ }
+ }
+ headers = {'content-type': '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()
+ self.assertIn('Path is calculated',
+ res['output']['configuration-response-common']['response-message'])
+ time.sleep(5)
+
+ # Delete topology
+ def test_06_delete_simple_topology_bi(self):
+ url = ("{}/config/ietf-network:network/openroadm-topology"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/xml',
+ "Accept": "application/json"}
+ response = requests.request(
+ "DELETE", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, requests.codes.ok)
+ time.sleep(2)
+
+ # Test deleted topology
+ def test_07_test_topology_simple_bi_deleted(self):
+ url = ("{}/config/ietf-network:network/openroadm-topology/node/ROADMA-SRG1"
+ .format(self.restconf_baseurl))
+ headers = {'content-type': 'application/json',
+ "Accept": "application/json"}
+ response = requests.request(
+ "GET", url, headers=headers, auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, 404)
+ time.sleep(1)
+
+ # Load simple bidirectional topology
+ def test_08_load_simple_topology_uni(self):
+ url = ("{}/config/ietf-network:network/openroadm-topology"
+ .format(self.restconf_baseurl))
+ body = self.simple_topo_uni_dir_data
+ headers = {'content-type': 'application/xml',
+ "Accept": "application/json"}
+ response = requests.request(
+ "PUT", url, data=body, headers=headers,
+ auth=('admin', 'admin'))
+ self.assertEqual(response.status_code, 201)
+ time.sleep(2)
+
+ # Get existing nodeId
+ def test_09_get_nodeId(self):