From a0a943b35c8142d83362e4e7c050bb5382c25cc8 Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Sat, 29 Jan 2022 14:51:23 +0100 Subject: [PATCH] Fix func. tests service-path calls JIRA: TRNSPRTPCE-567 Signed-off-by: guillaume.lambert Change-Id: I6a0b6de53ebab8f08b2103af7d8e618ebcadaf1c --- .../test04_renderer_service_path_nominal.py | 25 ++++---- .../2.2.1/test05_flex_grid.py | 39 ++++++------ .../test06_renderer_service_path_nominal.py | 25 ++++---- .../2.2.1/test07_otn_renderer.py | 60 +++++++++---------- .../common/test_utils_rfc8040.py | 8 ++- 5 files changed, 74 insertions(+), 83 deletions(-) diff --git a/tests/transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py b/tests/transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py index 9fd665d02..6b9f3cb98 100644 --- a/tests/transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py +++ b/tests/transportpce_tests/1.2.1/test04_renderer_service_path_nominal.py @@ -87,8 +87,8 @@ class TransportPCERendererTesting(unittest.TestCase): response['nodes'][0]['mapping']) def test_05_service_path_create(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -101,10 +101,9 @@ class TransportPCERendererTesting(unittest.TestCase): 'max-freq': 195.825, 'lower-spectral-slot-number': 713, 'higher-spectral-slot-number': 720 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertIn('Interfaces created successfully for nodes: ROADMA01', response['output']['result']) def test_06_service_path_create_rdm_check(self): response = test_utils_rfc8040.check_node_attribute_request("ROADMA01", "interface", "DEG1-TTP-TXRX-713:720") @@ -242,8 +241,8 @@ class TransportPCERendererTesting(unittest.TestCase): self.assertIn('not-reserved-inuse', response['circuit-packs'][0]["equipment-state"]) def test_14_service_path_delete(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -256,13 +255,9 @@ class TransportPCERendererTesting(unittest.TestCase): 'max-freq': 195.825, 'lower-spectral-slot-number': 713, 'higher-spectral-slot-number': 720 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) - self.assertIn(response.json(), - ({'output': {'result': 'Request processed', 'success': True}}, - {'transportpce-device-renderer:output': {'result': 'Request processed', 'success': True}})) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertDictEqual(response['output'], {'result': 'Request processed', 'success': True}) def test_15_service_path_delete_rdm_check(self): response = test_utils_rfc8040.check_node_attribute_request("ROADMA01", "interface", "DEG1-TTP-TXRX-713:720") diff --git a/tests/transportpce_tests/2.2.1/test05_flex_grid.py b/tests/transportpce_tests/2.2.1/test05_flex_grid.py index ef3faf8dd..860d242d4 100644 --- a/tests/transportpce_tests/2.2.1/test05_flex_grid.py +++ b/tests/transportpce_tests/2.2.1/test05_flex_grid.py @@ -96,29 +96,28 @@ class TransportPCEPortMappingTesting(unittest.TestCase): # Renderer interface creations def test_07_device_renderer(self): - data = { - "input": { - "modulation-format": "dp-qpsk", - "operation": "create", - "service-name": "testNMC-MC", - "wave-number": "0", - "center-freq": "196.05", - "nmc-width": "80", - "nodes": [ + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { + 'modulation-format': 'dp-qpsk', + 'operation': 'create', + 'service-name': 'testNMC-MC', + 'wave-number': '0', + 'center-freq': '196.05', + 'nmc-width': '80', + 'nodes': [ { - "node-id": "ROADM-D1", - "src-tp": "SRG1-PP1-TXRX", - "dest-tp": "DEG1-TTP-TXRX" + 'node-id': 'ROADM-D1', + 'src-tp': 'SRG1-PP1-TXRX', + 'dest-tp': 'DEG1-TTP-TXRX' } ], - "min-freq": 196.00625, - "max-freq": 196.09375, - "lower-spectral-slot-number": 749, - "higher-spectral-slot-number": 763 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) + 'min-freq': 196.00625, + 'max-freq': 196.09375, + 'lower-spectral-slot-number': 749, + 'higher-spectral-slot-number': 763 + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertIn('Interfaces created successfully for nodes: ', response['output']['result']) time.sleep(10) # Get Degree MC interface and check diff --git a/tests/transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py b/tests/transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py index ef6645103..ceeb049c4 100644 --- a/tests/transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py +++ b/tests/transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py @@ -84,8 +84,8 @@ class TransportPCERendererTesting(unittest.TestCase): response['nodes'][0]['mapping']) def test_05_service_path_create(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -98,10 +98,9 @@ class TransportPCERendererTesting(unittest.TestCase): 'max-freq': 195.825, 'lower-spectral-slot-number': 713, 'higher-spectral-slot-number': 720 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertIn('Interfaces created successfully for nodes: ROADM-A1', response['output']['result']) def test_06_service_path_create_rdm_check(self): response = test_utils_rfc8040.check_node_attribute_request("ROADM-A1", "interface", "DEG1-TTP-TXRX-nmc-713:720") @@ -261,8 +260,8 @@ class TransportPCERendererTesting(unittest.TestCase): # FIXME: https://jira.opendaylight.org/browse/TRNSPRTPCE-591 def test_17_service_path_delete(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -275,13 +274,9 @@ class TransportPCERendererTesting(unittest.TestCase): 'max-freq': 195.825, 'lower-spectral-slot-number': 713, 'higher-spectral-slot-number': 720 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) - self.assertIn(response.json(), - ({'output': {'result': 'Request processed', 'success': True}}, - {'transportpce-device-renderer:output': {'result': 'Request processed', 'success': True}})) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertDictEqual(response['output'], {'result': 'Request processed', 'success': True}) def test_18_service_path_delete_rdm_check(self): response = test_utils_rfc8040.check_node_attribute_request("ROADM-A1", "interface", "DEG1-TTP-TXRX-mc-713:720") diff --git a/tests/transportpce_tests/2.2.1/test07_otn_renderer.py b/tests/transportpce_tests/2.2.1/test07_otn_renderer.py index df4a8b227..6bb1fd664 100644 --- a/tests/transportpce_tests/2.2.1/test07_otn_renderer.py +++ b/tests/transportpce_tests/2.2.1/test07_otn_renderer.py @@ -88,8 +88,8 @@ class TransportPCEtesting(unittest.TestCase): response['mapping']) def test_04_service_path_create_OCH_OTU4(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -101,10 +101,14 @@ class TransportPCEtesting(unittest.TestCase): 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertIn('Interfaces created successfully for nodes: ', response['output']['result']) + self.assertTrue(response['output']['success']) + self.assertIn( + {'node-id': 'SPDR-SA1', + 'otu-interface-id': ['XPDR1-NETWORK1-OTU'], + 'och-interface-id': ['XPDR1-NETWORK1-761:768']}, response['output']['node-interface']) def test_05_get_portmapping_NETWORK1(self): response = test_utils_rfc8040.portmapping_request("SPDR-SA1", "XPDR1-NETWORK1") @@ -155,16 +159,14 @@ class TransportPCEtesting(unittest.TestCase): response['interface'][0]['org-openroadm-otn-otu-interfaces:otu']) def test_08_otn_service_path_create_ODU4(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_otn_service_path_request( + {'input': { 'service-name': 'service_ODU4', 'operation': 'create', 'service-rate': '100', 'service-format': 'ODU', 'nodes': [{'node-id': 'SPDR-SA1', 'network-tp': 'XPDR1-NETWORK1'}] - } - } - response = test_utils_rfc8040.device_renderer_otn_service_path_request(data) + }}) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Otn Service path was set up successfully for node :SPDR-SA1', response['output']['result']) self.assertTrue(response['output']['success']) @@ -203,8 +205,8 @@ class TransportPCEtesting(unittest.TestCase): response['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu']) def test_11_otn_service_path_create_10GE(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_otn_service_path_request( + {'input': { 'service-name': 'service1', 'operation': 'create', 'service-rate': '10', @@ -213,9 +215,7 @@ class TransportPCEtesting(unittest.TestCase): 'ethernet-encoding': 'eth encode', 'trib-slot': ['1'], 'trib-port-number': '1' - } - } - response = test_utils_rfc8040.device_renderer_otn_service_path_request(data) + }}) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Otn Service path was set up successfully for node :SPDR-SA1', response['output']['result']) self.assertTrue(response['output']['success']) @@ -313,8 +313,8 @@ class TransportPCEtesting(unittest.TestCase): response['odu-connection'][0]['source']) def test_16_otn_service_path_delete_10GE(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_otn_service_path_request( + {'input': { 'service-name': 'service1', 'operation': 'delete', 'service-rate': '10', @@ -323,9 +323,7 @@ class TransportPCEtesting(unittest.TestCase): 'ethernet-encoding': 'eth encode', 'trib-slot': ['1'], 'trib-port-number': '1' - } - } - response = test_utils_rfc8040.device_renderer_otn_service_path_request(data) + }}) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Request processed', response['output']['result']) self.assertTrue(response['output']['success']) @@ -350,16 +348,14 @@ class TransportPCEtesting(unittest.TestCase): self.assertEqual(response['status_code'], requests.codes.conflict) def test_21_otn_service_path_delete_ODU4(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_otn_service_path_request( + {'input': { 'service-name': 'service_ODU4', 'operation': 'delete', 'service-rate': '100', 'service-format': 'ODU', 'nodes': [{'node-id': 'SPDR-SA1', 'network-tp': 'XPDR1-NETWORK1'}] - } - } - response = test_utils_rfc8040.device_renderer_otn_service_path_request(data) + }}) self.assertEqual(response['status_code'], requests.codes.ok) self.assertIn('Request processed', response['output']['result']) self.assertTrue(response['output']['success']) @@ -369,8 +365,8 @@ class TransportPCEtesting(unittest.TestCase): self.assertEqual(response['status_code'], requests.codes.conflict) def test_23_service_path_delete_OCH_OTU4(self): - data = { - 'input': { + response = test_utils_rfc8040.device_renderer_service_path_request( + {'input': { 'service-name': 'service_test', 'wave-number': '7', 'modulation-format': 'dp-qpsk', @@ -382,10 +378,10 @@ class TransportPCEtesting(unittest.TestCase): 'max-freq': 196.125, 'lower-spectral-slot-number': 761, 'higher-spectral-slot-number': 768 - } - } - response = test_utils_rfc8040.device_renderer_service_path_request(data) - self.assertEqual(response.status_code, requests.codes.ok) + }}) + self.assertEqual(response['status_code'], requests.codes.ok) + self.assertIn('Request processed', response['output']['result']) + self.assertTrue(response['output']['success']) def test_24_check_no_interface_OTU4(self): response = test_utils_rfc8040.check_node_attribute_request("SPDR-SA1", "interface", "XPDR1-NETWORK1-OTU") diff --git a/tests/transportpce_tests/common/test_utils_rfc8040.py b/tests/transportpce_tests/common/test_utils_rfc8040.py index 151a20a47..296b20250 100644 --- a/tests/transportpce_tests/common/test_utils_rfc8040.py +++ b/tests/transportpce_tests/common/test_utils_rfc8040.py @@ -523,7 +523,13 @@ def device_renderer_service_path_request(payload: dict): data = prepend_dict_keys(payload, 'transportpce-device-renderer:') else: data = payload - return post_request(url, data) + response = post_request(url, data) + res = response.json() + return_key = {'rfc8040': 'transportpce-device-renderer:output', + 'draft-bierman02': 'output'} + return_output = res[return_key[RESTCONF_VERSION]] + return {'status_code': response.status_code, + 'output': return_output} def device_renderer_otn_service_path_request(payload: dict): -- 2.36.6