3 ##############################################################################
4 # Copyright (c) 2020 Orange, Inc. and others. All rights reserved.
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
25 class TransportPCEtesting(unittest.TestCase):
27 honeynode_process1 = None
29 restconf_baseurl = "http://localhost:8181/restconf"
33 print("starting honeynode1...")
34 cls.honeynode_process1 = test_utils.start_spdra_honeynode()
37 print("starting opendaylight...")
38 cls.odl_process = test_utils.start_tpce()
40 print("opendaylight started")
43 def tearDownClass(cls):
44 for child in psutil.Process(cls.odl_process.pid).children():
45 child.send_signal(signal.SIGINT)
47 cls.odl_process.send_signal(signal.SIGINT)
48 cls.odl_process.wait()
49 for child in psutil.Process(cls.honeynode_process1.pid).children():
50 child.send_signal(signal.SIGINT)
52 cls.honeynode_process1.send_signal(signal.SIGINT)
53 cls.honeynode_process1.wait()
58 def test_01_connect_SPDR_SA1(self):
59 url = ("{}/config/network-topology:"
60 "network-topology/topology/topology-netconf/node/SPDR-SA1"
61 .format(self.restconf_baseurl))
63 "node-id": "SPDR-SA1",
64 "netconf-node-topology:username": "admin",
65 "netconf-node-topology:password": "admin",
66 "netconf-node-topology:host": "127.0.0.1",
67 "netconf-node-topology:port": "17845",
68 "netconf-node-topology:tcp-only": "false",
69 "netconf-node-topology:pass-through": {}}]}
70 headers = {'content-type': 'application/json'}
71 response = requests.request(
72 "PUT", url, data=json.dumps(data), headers=headers,
73 auth=('admin', 'admin'))
74 self.assertEqual(response.status_code, requests.codes.created)
76 url = ("{}/operational/network-topology:"
77 "network-topology/topology/topology-netconf/node/SPDR-SA1"
78 .format(self.restconf_baseurl))
79 response = requests.request(
80 "GET", url, headers=headers, auth=('admin', 'admin'))
81 self.assertEqual(response.status_code, requests.codes.ok)
84 res['node'][0]['netconf-node-topology:connection-status'],
87 def test_02_get_portmapping_CLIENT1(self):
88 url = ("{}/config/transportpce-portmapping:network/"
89 "nodes/SPDR-SA1/mapping/XPDR1-CLIENT1"
90 .format(self.restconf_baseurl))
91 headers = {'content-type': 'application/json'}
92 response = requests.request(
93 "GET", url, headers=headers, auth=('admin', 'admin'))
94 self.assertEqual(response.status_code, requests.codes.ok)
97 {'supported-interface-capability': [
98 'org-openroadm-port-types:if-10GE-ODU2e',
99 'org-openroadm-port-types:if-10GE-ODU2',
100 'org-openroadm-port-types:if-10GE'],
101 'supporting-port': 'CP1-SFP4-P1',
102 'supporting-circuit-pack-name': 'CP1-SFP4',
103 'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional',
104 'port-qual': 'xpdr-client'},
107 def test_03_get_portmapping_NETWORK1(self):
108 url = ("{}/config/transportpce-portmapping:network/"
109 "nodes/SPDR-SA1/mapping/XPDR1-NETWORK1"
110 .format(self.restconf_baseurl))
111 headers = {'content-type': 'application/json'}
112 response = requests.request(
113 "GET", url, headers=headers, auth=('admin', 'admin'))
114 self.assertEqual(response.status_code, requests.codes.ok)
115 res = response.json()
117 {"logical-connection-point": "XPDR1-NETWORK1",
118 "supporting-port": "CP1-CFP0-P1",
119 "supported-interface-capability": [
120 "org-openroadm-port-types:if-OCH-OTU4-ODU4"
122 "port-direction": "bidirectional",
123 "port-qual": "xpdr-network",
124 "supporting-circuit-pack-name": "CP1-CFP0",
125 "xponder-type": "mpdr"},
128 def test_04_service_path_create_OCH_OTU4(self):
129 url = "{}/operations/transportpce-device-renderer:service-path".format(self.restconf_baseurl)
130 data = {"renderer:input": {
131 "service-name": "service_ODU4",
133 "modulation-format": "qpsk",
134 "operation": "create",
136 {"node-id": "SPDR-SA1",
137 "dest-tp": "XPDR1-NETWORK1"}]}}
138 headers = {'content-type': 'application/json'}
139 response = requests.request(
140 "POST", url, data=json.dumps(data),
141 headers=headers, auth=('admin', 'admin'))
143 self.assertEqual(response.status_code, requests.codes.ok)
144 res = response.json()
145 self.assertIn('Roadm-connection successfully created for nodes: ', res["output"]["result"])
146 self.assertTrue(res["output"]["success"])
148 {'node-id': 'SPDR-SA1',
149 'otu-interface-id': ['XPDR1-NETWORK1-OTU'],
150 'och-interface-id': ['XPDR1-NETWORK1-1']}, res["output"]['node-interface'])
152 def test_05_get_portmapping_NETWORK1(self):
153 url = ("{}/config/transportpce-portmapping:network/"
154 "nodes/SPDR-SA1/mapping/XPDR1-NETWORK1"
155 .format(self.restconf_baseurl))
156 headers = {'content-type': 'application/json'}
157 response = requests.request(
158 "GET", url, headers=headers, auth=('admin', 'admin'))
159 self.assertEqual(response.status_code, requests.codes.ok)
160 res = response.json()
162 {"logical-connection-point": "XPDR1-NETWORK1",
163 "supporting-port": "CP1-CFP0-P1",
164 "supported-interface-capability": [
165 "org-openroadm-port-types:if-OCH-OTU4-ODU4"
167 "port-direction": "bidirectional",
168 "port-qual": "xpdr-network",
169 "supporting-circuit-pack-name": "CP1-CFP0",
170 "xponder-type": "mpdr"},
173 def test_06_check_interface_och(self):
174 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
175 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
176 "interface/XPDR1-NETWORK1-1"
177 .format(self.restconf_baseurl))
178 headers = {'content-type': 'application/json'}
179 response = requests.request(
180 "GET", url, headers=headers, auth=('admin', 'admin'))
181 self.assertEqual(response.status_code, requests.codes.ok)
182 res = response.json()
183 self.assertDictContainsSubset({'name': 'XPDR1-NETWORK1-1', 'administrative-state': 'inService',
184 'supporting-circuit-pack-name': 'CP1-CFP0',
185 'type': 'org-openroadm-interfaces:opticalChannel',
186 'supporting-port': 'CP1-CFP0-P1'}, res['interface'][0])
187 self.assertDictEqual(
188 {u'frequency': 196.1, u'rate': u'org-openroadm-common-types:R100G',
189 u'transmit-power': -5},
190 res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
192 def test_07_check_interface_OTU(self):
193 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
194 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
195 "interface/XPDR1-NETWORK1-OTU"
196 .format(self.restconf_baseurl))
197 headers = {'content-type': 'application/json'}
198 response = requests.request(
199 "GET", url, headers=headers, auth=('admin', 'admin'))
200 self.assertEqual(response.status_code, requests.codes.ok)
201 res = response.json()
202 self.assertDictContainsSubset({'name': 'XPDR1-NETWORK1-OTU', 'administrative-state': 'inService',
203 'supporting-circuit-pack-name': 'CP1-CFP0', 'supporting-interface': 'XPDR1-NETWORK1-1',
204 'type': 'org-openroadm-interfaces:otnOtu',
205 'supporting-port': 'CP1-CFP0-P1'}, res['interface'][0])
206 self.assertDictEqual(
207 {u'rate': u'org-openroadm-otn-common-types:OTU4',
209 res['interface'][0]['org-openroadm-otn-otu-interfaces:otu'])
211 def test_08_otn_service_path_create_ODU4(self):
212 url = "{}/operations/transportpce-device-renderer:otn-service-path".format(self.restconf_baseurl)
213 data = {"renderer:input": {
214 "service-name": "service_ODU4",
215 "operation": "create",
216 "service-rate": "100G",
217 "service-type": "ODU",
219 {"node-id": "SPDR-SA1",
220 "network-tp": "XPDR1-NETWORK1"}]}}
221 headers = {'content-type': 'application/json'}
222 response = requests.request(
223 "POST", url, data=json.dumps(data),
224 headers=headers, auth=('admin', 'admin'))
226 self.assertEqual(response.status_code, requests.codes.ok)
227 res = response.json()
228 self.assertIn('Otn Service path was set up successfully for node :SPDR-SA1', res["output"]["result"])
229 self.assertTrue(res["output"]["success"])
231 {'node-id': 'SPDR-SA1',
232 'odu-interface-id': ['XPDR1-NETWORK1-ODU4']}, res["output"]['node-interface'])
234 def test_09_get_portmapping_NETWORK1(self):
235 url = ("{}/config/transportpce-portmapping:network/"
236 "nodes/SPDR-SA1/mapping/XPDR1-NETWORK1"
237 .format(self.restconf_baseurl))
238 headers = {'content-type': 'application/json'}
239 response = requests.request(
240 "GET", url, headers=headers, auth=('admin', 'admin'))
241 self.assertEqual(response.status_code, requests.codes.ok)
242 res = response.json()
244 {"logical-connection-point": "XPDR1-NETWORK1",
245 "supporting-port": "CP1-CFP0-P1",
246 "supported-interface-capability": [
247 "org-openroadm-port-types:if-OCH-OTU4-ODU4"
249 "port-direction": "bidirectional",
250 "port-qual": "xpdr-network",
251 "supporting-circuit-pack-name": "CP1-CFP0",
252 "xponder-type": "mpdr",
253 "supporting-odu4": "XPDR1-NETWORK1-ODU4"},
256 def test_10_check_interface_ODU4(self):
257 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
258 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
259 "interface/XPDR1-NETWORK1-ODU4"
260 .format(self.restconf_baseurl))
261 headers = {'content-type': 'application/json'}
262 response = requests.request(
263 "GET", url, headers=headers, auth=('admin', 'admin'))
264 self.assertEqual(response.status_code, requests.codes.ok)
265 res = response.json()
266 self.assertDictContainsSubset({'name': 'XPDR1-NETWORK1-ODU4', 'administrative-state': 'inService',
267 'supporting-circuit-pack-name': 'CP1-CFP0', 'supporting-interface': 'XPDR1-NETWORK1-OTU',
268 'type': 'org-openroadm-interfaces:otnOdu',
269 'supporting-port': 'CP1-CFP0-P1'}, res['interface'][0])
270 self.assertDictContainsSubset(
271 {'odu-function': 'org-openroadm-otn-common-types:ODU-TTP',
272 'rate': 'org-openroadm-otn-common-types:ODU4'},
273 res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
274 self.assertDictEqual(
275 {u'payload-type': u'21', u'exp-payload-type': u'21'},
276 res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
278 def test_11_otn_service_path_create_10GE(self):
279 url = "{}/operations/transportpce-device-renderer:otn-service-path".format(self.restconf_baseurl)
280 data = {"renderer:input": {
281 "service-name": "service1",
282 "operation": "create",
283 "service-rate": "10G",
284 "service-type": "Ethernet",
285 "ethernet-encoding": "eth encode",
287 "trib-port-number": "1",
289 {"node-id": "SPDR-SA1",
290 "client-tp": "XPDR1-CLIENT1",
291 "network-tp": "XPDR1-NETWORK1"}]}}
292 headers = {'content-type': 'application/json'}
293 response = requests.request(
294 "POST", url, data=json.dumps(data),
295 headers=headers, auth=('admin', 'admin'))
297 self.assertEqual(response.status_code, requests.codes.ok)
298 res = response.json()
299 self.assertIn('Otn Service path was set up successfully for node :SPDR-SA1', res["output"]["result"])
300 self.assertTrue(res["output"]["success"])
302 {'node-id': 'SPDR-SA1',
303 'connection-id': ['XPDR1-CLIENT1-ODU2e-service1-x-XPDR1-NETWORK1-ODU2e-service1'],
304 'odu-interface-id': ['XPDR1-NETWORK1-ODU2e-service1', 'XPDR1-CLIENT1-ODU2e-service1'],
305 'eth-interface-id': ['XPDR1-CLIENT1-ETHERNET10G']}, res["output"]['node-interface'])
307 def test_12_check_interface_10GE_CLIENT(self):
308 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
309 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
310 "interface/XPDR1-CLIENT1-ETHERNET10G"
311 .format(self.restconf_baseurl))
312 headers = {'content-type': 'application/json'}
313 response = requests.request(
314 "GET", url, headers=headers, auth=('admin', 'admin'))
315 self.assertEqual(response.status_code, requests.codes.ok)
316 res = response.json()
317 self.assertDictContainsSubset({'name': 'XPDR1-CLIENT1-ETHERNET10G', 'administrative-state': 'inService',
318 'supporting-circuit-pack-name': 'CP1-SFP4',
319 'type': 'org-openroadm-interfaces:ethernetCsmacd',
320 'supporting-port': 'CP1-SFP4-P1'}, res['interface'][0])
321 self.assertDictEqual(
323 res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])
325 def test_13_check_interface_ODU2E_CLIENT(self):
326 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
327 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
328 "interface/XPDR1-CLIENT1-ODU2e-service1"
329 .format(self.restconf_baseurl))
330 headers = {'content-type': 'application/json'}
331 response = requests.request(
332 "GET", url, headers=headers, auth=('admin', 'admin'))
333 self.assertEqual(response.status_code, requests.codes.ok)
334 res = response.json()
335 self.assertDictContainsSubset({'name': 'XPDR1-CLIENT1-ODU2e-service1', 'administrative-state': 'inService',
336 'supporting-circuit-pack-name': 'CP1-SFP4',
337 'supporting-interface': 'XPDR1-CLIENT1-ETHERNET10G',
338 'type': 'org-openroadm-interfaces:otnOdu',
339 'supporting-port': 'CP1-SFP4-P1'}, res['interface'][0])
340 self.assertDictContainsSubset({
341 'odu-function': 'org-openroadm-otn-common-types:ODU-TTP-CTP',
342 'rate': 'org-openroadm-otn-common-types:ODU2e',
343 'monitoring-mode': 'terminated'}, res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
344 self.assertDictEqual(
345 {u'payload-type': u'03', u'exp-payload-type': u'03'},
346 res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
348 def test_14_check_interface_ODU2E_NETWORK(self):
349 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
350 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
351 "interface/XPDR1-NETWORK1-ODU2e-service1"
352 .format(self.restconf_baseurl))
353 headers = {'content-type': 'application/json'}
354 response = requests.request(
355 "GET", url, headers=headers, auth=('admin', 'admin'))
356 self.assertEqual(response.status_code, requests.codes.ok)
357 res = response.json()
358 self.assertDictContainsSubset({'name': 'XPDR1-NETWORK1-ODU2e-service1', 'administrative-state': 'inService',
359 'supporting-circuit-pack-name': 'CP1-CFP0',
360 'supporting-interface': 'XPDR1-NETWORK1-ODU4',
361 'type': 'org-openroadm-interfaces:otnOdu',
362 'supporting-port': 'CP1-CFP0-P1'}, res['interface'][0])
363 self.assertDictContainsSubset({
364 'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
365 'rate': 'org-openroadm-otn-common-types:ODU2e',
366 'monitoring-mode': 'monitored'}, res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
367 self.assertDictContainsSubset(
368 {'trib-port-number': 1},
369 res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['parent-odu-allocation'])
371 res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['parent-odu-allocation']['trib-slots'])
373 def test_15_check_ODU2E_connection(self):
374 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
375 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
376 "odu-connection/XPDR1-CLIENT1-ODU2e-service1-x-XPDR1-NETWORK1-ODU2e-service1"
377 .format(self.restconf_baseurl))
378 headers = {'content-type': 'application/json'}
379 response = requests.request(
380 "GET", url, headers=headers, auth=('admin', 'admin'))
381 self.assertEqual(response.status_code, requests.codes.ok)
382 res = response.json()
383 self.assertDictContainsSubset({
384 'connection-name': 'XPDR1-CLIENT1-ODU2e-service1-x-XPDR1-NETWORK1-ODU2e-service1',
385 'direction': 'bidirectional'},
386 res['odu-connection'][0])
387 self.assertDictEqual({u'dst-if': u'XPDR1-NETWORK1-ODU2e-service1'},
388 res['odu-connection'][0]['destination'])
389 self.assertDictEqual({u'src-if': u'XPDR1-CLIENT1-ODU2e-service1'},
390 res['odu-connection'][0]['source'])
392 def test_16_otn_service_path_delete_10GE(self):
393 url = "{}/operations/transportpce-device-renderer:otn-service-path".format(self.restconf_baseurl)
394 data = {"renderer:input": {
395 "service-name": "service1",
396 "operation": "delete",
397 "service-rate": "10G",
398 "service-type": "Ethernet",
399 "ethernet-encoding": "eth encode",
401 "trib-port-number": "1",
403 {"node-id": "SPDR-SA1",
404 "client-tp": "XPDR1-CLIENT1",
405 "network-tp": "XPDR1-NETWORK1"}]}}
406 headers = {'content-type': 'application/json'}
407 response = requests.request(
408 "POST", url, data=json.dumps(data),
409 headers=headers, auth=('admin', 'admin'))
411 self.assertEqual(response.status_code, requests.codes.ok)
412 res = response.json()
413 self.assertIn('Request processed', res["output"]["result"])
414 self.assertTrue(res["output"]["success"])
416 def test_17_check_no_ODU2E_connection(self):
417 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
418 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
419 "odu-connection/XPDR1-CLIENT1-ODU2e-service1-x-XPDR1-NETWORK1-ODU2e-service1"
420 .format(self.restconf_baseurl))
421 headers = {'content-type': 'application/json'}
422 response = requests.request(
423 "GET", url, headers=headers, auth=('admin', 'admin'))
424 self.assertEqual(response.status_code, requests.codes.not_found)
426 def test_18_check_no_interface_ODU2E_NETWORK(self):
427 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
428 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
429 "interface/XPDR1-NETWORK1-ODU2e-service1"
430 .format(self.restconf_baseurl))
431 headers = {'content-type': 'application/json'}
432 response = requests.request(
433 "GET", url, headers=headers, auth=('admin', 'admin'))
434 self.assertEqual(response.status_code, requests.codes.not_found)
436 def test_19_check_no_interface_ODU2E_CLIENT(self):
437 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
438 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
439 "interface/XPDR1-CLIENT1-ODU2e-service1"
440 .format(self.restconf_baseurl))
441 headers = {'content-type': 'application/json'}
442 response = requests.request(
443 "GET", url, headers=headers, auth=('admin', 'admin'))
444 self.assertEqual(response.status_code, requests.codes.not_found)
446 def test_20_check_no_interface_10GE_CLIENT(self):
447 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
448 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
449 "interface/XPDR1-CLIENT1-ETHERNET10G"
450 .format(self.restconf_baseurl))
451 headers = {'content-type': 'application/json'}
452 response = requests.request(
453 "GET", url, headers=headers, auth=('admin', 'admin'))
454 self.assertEqual(response.status_code, requests.codes.not_found)
456 def test_21_otn_service_path_delete_ODU4(self):
457 url = "{}/operations/transportpce-device-renderer:otn-service-path".format(self.restconf_baseurl)
458 data = {"renderer:input": {
459 "service-name": "service_ODU4",
460 "operation": "delete",
461 "service-rate": "100G",
462 "service-type": "ODU",
464 {"node-id": "SPDR-SA1",
465 "network-tp": "XPDR1-NETWORK1"}]}}
466 headers = {'content-type': 'application/json'}
467 response = requests.request(
468 "POST", url, data=json.dumps(data),
469 headers=headers, auth=('admin', 'admin'))
471 self.assertEqual(response.status_code, requests.codes.ok)
472 res = response.json()
473 self.assertIn('Request processed', res["output"]["result"])
474 self.assertTrue(res["output"]["success"])
476 def test_22_check_no_interface_ODU4(self):
477 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
478 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
479 "interface/XPDR1-NETWORK1-ODU4"
480 .format(self.restconf_baseurl))
481 headers = {'content-type': 'application/json'}
482 response = requests.request(
483 "GET", url, headers=headers, auth=('admin', 'admin'))
484 self.assertEqual(response.status_code, requests.codes.not_found)
486 def test_23_service_path_delete_OCH_OTU4(self):
487 url = "{}/operations/transportpce-device-renderer:service-path".format(self.restconf_baseurl)
488 data = {"renderer:input": {
489 "service-name": "service_OTU4",
491 "modulation-format": "qpsk",
492 "operation": "delete",
494 {"node-id": "SPDR-SA1",
495 "dest-tp": "XPDR1-NETWORK1"}]}}
496 headers = {'content-type': 'application/json'}
497 response = requests.request(
498 "POST", url, data=json.dumps(data),
499 headers=headers, auth=('admin', 'admin'))
501 self.assertEqual(response.status_code, requests.codes.ok)
502 res = response.json()
503 self.assertIn('Request processed', res["output"]["result"])
504 self.assertTrue(res["output"]["success"])
506 def test_24_check_no_interface_OTU4(self):
507 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
508 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
509 "interface/XPDR1-NETWORK1-OTU"
510 .format(self.restconf_baseurl))
511 headers = {'content-type': 'application/json'}
512 response = requests.request(
513 "GET", url, headers=headers, auth=('admin', 'admin'))
514 self.assertEqual(response.status_code, requests.codes.not_found)
516 def test_25_check_no_interface_OCH(self):
517 url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
518 "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
519 "interface/XPDR1-NETWORK1-1"
520 .format(self.restconf_baseurl))
521 headers = {'content-type': 'application/json'}
522 response = requests.request(
523 "GET", url, headers=headers, auth=('admin', 'admin'))
524 self.assertEqual(response.status_code, requests.codes.not_found)
526 def test_26_disconnect_SPDR_SA1(self):
527 url = ("{}/config/network-topology:"
528 "network-topology/topology/topology-netconf/node/SPDR-SA1"
529 .format(self.restconf_baseurl))
531 headers = {'content-type': 'application/json'}
532 response = requests.request(
533 "DELETE", url, data=json.dumps(data), headers=headers,
534 auth=('admin', 'admin'))
535 self.assertEqual(response.status_code, requests.codes.ok)
538 if __name__ == "__main__":
539 unittest.main(verbosity=2)