X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Ftransportpce_tests%2F2.2.1%2Ftest_olm.py;h=67e609fa775e7c09dc82a2d26b8b2f659636ad13;hb=c834356f10cb8bc04c8b0a9eb2a438b2e9c50632;hp=b9cf5b682b9c6f4cce88bc9e8a211c3a12a88146;hpb=19a9408ee823754859467888a5d2823bfd8655ab;p=transportpce.git diff --git a/tests/transportpce_tests/2.2.1/test_olm.py b/tests/transportpce_tests/2.2.1/test_olm.py index b9cf5b682..67e609fa7 100644 --- a/tests/transportpce_tests/2.2.1/test_olm.py +++ b/tests/transportpce_tests/2.2.1/test_olm.py @@ -9,24 +9,33 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################# +# pylint: disable=no-member +# pylint: disable=too-many-public-methods + import unittest import time -import json import requests -from common import test_utils +import sys +sys.path.append('transportpce_tests/common/') +import test_utils class TransportOlmTesting(unittest.TestCase): processes = None + NODE_VERSION = '2.2.1' @classmethod def setUpClass(cls): cls.processes = test_utils.start_tpce() - cls.processes = test_utils.start_sims(['xpdra', 'roadma', 'roadmc', 'xpdrc']) + cls.processes = test_utils.start_sims([('xpdra', cls.NODE_VERSION), + ('roadma', cls.NODE_VERSION), + ('roadmc', cls.NODE_VERSION), + ('xpdrc', cls.NODE_VERSION)]) @classmethod def tearDownClass(cls): + # pylint: disable=not-an-iterable for process in cls.processes: test_utils.shutdown_process(process) print("all processes killed") @@ -36,19 +45,19 @@ class TransportOlmTesting(unittest.TestCase): time.sleep(1) def test_01_xpdrA_device_connected(self): - response = test_utils.mount_device("XPDR-A1", 'xpdra') + response = test_utils.mount_device("XPDR-A1", ('xpdra', self.NODE_VERSION)) self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) def test_02_xpdrC_device_connected(self): - response = test_utils.mount_device("XPDR-C1", 'xpdrc') + response = test_utils.mount_device("XPDR-C1", ('xpdrc', self.NODE_VERSION)) self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) def test_03_rdmA_device_connected(self): - response = test_utils.mount_device("ROADM-A1", 'roadma') + response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION)) self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) def test_04_rdmC_device_connected(self): - response = test_utils.mount_device("ROADM-C1", 'roadmc') + response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION)) self.assertEqual(response.status_code, requests.codes.created, test_utils.CODE_SHOULD_BE_201) def test_05_connect_xprdA_to_roadmA(self): @@ -80,14 +89,7 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Roadm Xponder links created successfully', res["output"]["result"]) def test_09_create_OTS_ROADMA(self): - url = "{}/operations/transportpce-device-renderer:create-ots-oms" - data = { - "input": { - "node-id": "ROADM-A1", - "logical-connection-point": "DEG1-TTP-TXRX" - } - } - response = test_utils.post_request(url, data) + response = test_utils.create_ots_oms_request("ROADM-A1", "DEG1-TTP-TXRX") time.sleep(10) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() @@ -95,14 +97,7 @@ class TransportOlmTesting(unittest.TestCase): res["output"]["result"]) def test_10_create_OTS_ROADMC(self): - url = "{}/operations/transportpce-device-renderer:create-ots-oms" - data = { - "input": { - "node-id": "ROADM-C1", - "logical-connection-point": "DEG2-TTP-TXRX" - } - } - response = test_utils.post_request(url, data) + response = test_utils.create_ots_oms_request("ROADM-C1", "DEG2-TTP-TXRX") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1', @@ -206,58 +201,35 @@ class TransportOlmTesting(unittest.TestCase): time.sleep(5) def test_15_get_OTS_DEG2_TTP_TXRX_ROADMA(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/" - "node/ROADM-A1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface/OTS-DEG2-TTP-TXRX/" - "org-openroadm-optical-transport-interfaces:ots") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request( + "ROADM-A1", + "interface/OTS-DEG2-TTP-TXRX/org-openroadm-optical-transport-interfaces:ots") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual(17.6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) self.assertEqual(25.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_16_get_OTS_DEG1_TTP_TXRX_ROADMC(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/" - "node/ROADM-C1/yang-ext:mount/org-openroadm-device:org-openroadm-device/interface/OTS-DEG1-TTP-TXRX/" - "org-openroadm-optical-transport-interfaces:ots") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request( + "ROADM-C1", + "interface/OTS-DEG1-TTP-TXRX/org-openroadm-optical-transport-interfaces:ots") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual(25.7, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-transmit']) self.assertEqual(17.6, res['org-openroadm-optical-transport-interfaces:ots']['span-loss-receive']) def test_17_servicePath_create_AToZ(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test", - "wave-number": "1", - "modulation-format": "qpsk", - "operation": "create", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK1", - "src-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-A1" - }, - { - "dest-tp": "DEG2-TTP-TXRX", - "src-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-A1" - }, - { - "dest-tp": "SRG1-PP1-TXRX", - "src-tp": "DEG1-TTP-TXRX", - "node-id": "ROADM-C1" - }, - { - "dest-tp": "XPDR1-CLIENT1", - "src-tp": "XPDR1-NETWORK1", - "node-id": "XPDR-C1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("create", "test", "1", + [{"node-id": "XPDR-A1", + "dest-tp": "XPDR1-NETWORK1", "src-tp": "XPDR1-CLIENT1"}, + {"node-id": "ROADM-A1", + "dest-tp": "DEG2-TTP-TXRX", "src-tp": "SRG1-PP1-TXRX"}, + {"node-id": "ROADM-C1", + "dest-tp": "SRG1-PP1-TXRX", "src-tp": "DEG1-TTP-TXRX"}, + {"node-id": "XPDR-C1", + "dest-tp": "XPDR1-CLIENT1", "src-tp": "XPDR1-NETWORK1"}], + 196.1, 40, 196.075, 196.125, 761, + 768) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Roadm-connection successfully created for nodes', res["output"]["result"]) @@ -265,38 +237,17 @@ class TransportOlmTesting(unittest.TestCase): time.sleep(10) def test_18_servicePath_create_ZToA(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test", - "wave-number": "1", - "modulation-format": "qpsk", - "operation": "create", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK1", - "src-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-C1" - }, - { - "dest-tp": "DEG1-TTP-TXRX", - "src-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-C1" - }, - { - "src-tp": "DEG2-TTP-TXRX", - "dest-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-A1" - }, - { - "src-tp": "XPDR1-NETWORK1", - "dest-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-A1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("create", "test", "1", + [{"node-id": "XPDR-C1", + "dest-tp": "XPDR1-NETWORK1", "src-tp": "XPDR1-CLIENT1"}, + {"node-id": "ROADM-C1", + "dest-tp": "DEG1-TTP-TXRX", "src-tp": "SRG1-PP1-TXRX"}, + {"node-id": "ROADM-A1", + "src-tp": "DEG2-TTP-TXRX", "dest-tp": "SRG1-PP1-TXRX"}, + {"node-id": "XPDR-A1", + "src-tp": "XPDR1-NETWORK1", "dest-tp": "XPDR1-CLIENT1"}], + 196.1, 40, 196.075, 196.125, 761, + 768) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Roadm-connection successfully created for nodes', res["output"]["result"]) @@ -330,7 +281,9 @@ class TransportOlmTesting(unittest.TestCase): "src-tp": "XPDR1-NETWORK1", "node-id": "XPDR-C1" } - ] + ], + "lower-spectral-slot-number": 761, + "higher-spectral-slot-number": 768 } } response = test_utils.post_request(url, data) @@ -339,30 +292,23 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) def test_20_get_interface_XPDRA_XPDR1_NETWORK1(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/XPDR-A1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/interface/XPDR1-NETWORK1-1/" - "org-openroadm-optical-channel-interfaces:och") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request( + "XPDR-A1", + "interface/XPDR1-NETWORK1-761:768/org-openroadm-optical-channel-interfaces:och") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual(-5, res['org-openroadm-optical-channel-interfaces:och']['transmit-power']) self.assertEqual(196.1, res['org-openroadm-optical-channel-interfaces:och']['frequency']) def test_21_get_roadmconnection_ROADMA(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADM-A1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/roadm-connections/" - "SRG1-PP1-TXRX-DEG2-TTP-TXRX-1") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request("ROADM-A1", "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("gainLoss", res['roadm-connections'][0]['opticalControlMode']) self.assertEqual(2.0, res['roadm-connections'][0]['target-output-power']) def test_22_get_roadmconnection_ROADMC(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADM-C1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/roadm-connections/" - "DEG1-TTP-TXRX-SRG1-PP1-TXRX-1") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request("ROADM-C1", "roadm-connections/DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("power", res['roadm-connections'][0]['opticalControlMode']) @@ -394,7 +340,9 @@ class TransportOlmTesting(unittest.TestCase): "dest-tp": "XPDR1-CLIENT1", "node-id": "XPDR-A1" } - ] + ], + "lower-spectral-slot-number": 761, + "higher-spectral-slot-number": 768 } } response = test_utils.post_request(url, data) @@ -403,20 +351,16 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) def test_24_get_interface_XPDRC_XPDR1_NETWORK1(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/XPDR-C1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/interface/XPDR1-NETWORK1-1/" - "org-openroadm-optical-channel-interfaces:och") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request( + "XPDR-C1", + "interface/XPDR1-NETWORK1-761:768/org-openroadm-optical-channel-interfaces:och") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual(-5, res['org-openroadm-optical-channel-interfaces:och']['transmit-power']) self.assertEqual(196.1, res['org-openroadm-optical-channel-interfaces:och']['frequency']) def test_25_get_roadmconnection_ROADMC(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADM-C1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/roadm-connections/" - "SRG1-PP1-TXRX-DEG1-TTP-TXRX-1") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request("ROADM-C1", "roadm-connections/SRG1-PP1-TXRX-DEG1-TTP-TXRX-761:768") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("gainLoss", res['roadm-connections'][0]['opticalControlMode']) @@ -449,7 +393,9 @@ class TransportOlmTesting(unittest.TestCase): "src-tp": "XPDR1-NETWORK1", "node-id": "XPDR-C1" } - ] + ], + "lower-spectral-slot-number": 761, + "higher-spectral-slot-number": 768 } } response = test_utils.post_request(url, data) @@ -458,101 +404,53 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Success', res["output"]["result"]) def test_27_get_roadmconnection_ROADMA(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADM-A1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/roadm-connections/" - "SRG1-PP1-TXRX-DEG2-TTP-TXRX-1") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request("ROADM-A1", "roadm-connections/SRG1-PP1-TXRX-DEG2-TTP-TXRX-761:768") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("off", res['roadm-connections'][0]['opticalControlMode']) self.assertEqual(-60, res['roadm-connections'][0]['target-output-power']) def test_28_get_roadmconnection_ROADMC(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/ROADM-C1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/roadm-connections/" - "DEG1-TTP-TXRX-SRG1-PP1-TXRX-1") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request("ROADM-C1", "roadm-connections/DEG1-TTP-TXRX-SRG1-PP1-TXRX-761:768") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual("off", res['roadm-connections'][0]['opticalControlMode']) def test_29_servicePath_delete_AToZ(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test", - "wave-number": "1", - "modulation-format": "qpsk", - "operation": "delete", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK1", - "src-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-A1" - }, - { - "dest-tp": "DEG2-TTP-TXRX", - "src-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-A1" - }, - { - "dest-tp": "SRG1-PP1-TXRX", - "src-tp": "DEG1-TTP-TXRX", - "node-id": "ROADM-C1" - }, - { - "dest-tp": "XPDR1-CLIENT1", - "src-tp": "XPDR1-NETWORK1", - "node-id": "XPDR-C1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("delete", "test", "1", + [{"node-id": "XPDR-A1", + "dest-tp": "XPDR1-NETWORK1", "src-tp": "XPDR1-CLIENT1"}, + {"node-id": "ROADM-A1", + "dest-tp": "DEG2-TTP-TXRX", "src-tp": "SRG1-PP1-TXRX"}, + {"node-id": "ROADM-C1", + "dest-tp": "SRG1-PP1-TXRX", "src-tp": "DEG1-TTP-TXRX"}, + {"node-id": "XPDR-C1", + "dest-tp": "XPDR1-CLIENT1", "src-tp": "XPDR1-NETWORK1"}], + 196.1, 40, 196.075, 196.125, 761, + 768) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Request processed', res["output"]["result"]) time.sleep(10) def test_30_servicePath_delete_ZToA(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test", - "wave-number": "1", - "modulation-format": "qpsk", - "operation": "delete", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK1", - "src-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-C1" - }, - { - "dest-tp": "DEG1-TTP-TXRX", - "src-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-C1" - }, - { - "src-tp": "DEG2-TTP-TXRX", - "dest-tp": "SRG1-PP1-TXRX", - "node-id": "ROADM-A1" - }, - { - "src-tp": "XPDR1-NETWORK1", - "dest-tp": "XPDR1-CLIENT1", - "node-id": "XPDR-A1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("delete", "test", "1", + [{"node-id": "XPDR-C1", + "dest-tp": "XPDR1-NETWORK1", "src-tp": "XPDR1-CLIENT1"}, + {"node-id": "ROADM-C1", + "dest-tp": "DEG1-TTP-TXRX", "src-tp": "SRG1-PP1-TXRX"}, + {"node-id": "ROADM-A1", + "src-tp": "DEG2-TTP-TXRX", "dest-tp": "SRG1-PP1-TXRX"}, + {"node-id": "XPDR-A1", + "src-tp": "XPDR1-NETWORK1", "dest-tp": "XPDR1-CLIENT1"}], + 196.053125, 40, 196.025, 196.08125, 761, + 768) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Request processed', res["output"]["result"]) time.sleep(10) - """to test case where SRG where the xpdr is connected to has no optical range data""" + #"""to test case where SRG where the xpdr is connected to has no optical range data""" def test_31_connect_xprdA_to_roadmA(self): response = test_utils.connect_xpdr_to_rdm_request("XPDR-A1", "1", "2", @@ -569,28 +467,13 @@ class TransportOlmTesting(unittest.TestCase): self.assertIn('Roadm Xponder links created successfully', res["output"]["result"]) def test_33_servicePath_create_AToZ(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test2", - "wave-number": "2", - "modulation-format": "qpsk", - "operation": "create", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK2", - "src-tp": "XPDR1-CLIENT2", - "node-id": "XPDR-A1" - }, - { - "dest-tp": "DEG2-TTP-TXRX", - "src-tp": "SRG1-PP2-TXRX", - "node-id": "ROADM-A1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("create", "test2", "2", + [{"node-id": "XPDR-A1", + "dest-tp": "XPDR1-NETWORK2", "src-tp": "XPDR1-CLIENT2"}, + {"node-id": "ROADM-A1", + "dest-tp": "DEG2-TTP-TXRX", "src-tp": "SRG1-PP2-TXRX"}], + 196.1, 40, 196.075, 196.125, 753, + 760) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Roadm-connection successfully created for nodes', res["output"]["result"]) @@ -598,38 +481,22 @@ class TransportOlmTesting(unittest.TestCase): time.sleep(10) def test_34_get_interface_XPDRA_XPDR1_NETWORK2(self): - url = ("{}/config/network-topology:network-topology/topology/topology-netconf/node/XPDR-A1/yang-ext:mount/" - "org-openroadm-device:org-openroadm-device/interface/XPDR1-NETWORK2-2/" - "org-openroadm-optical-channel-interfaces:och") - response = test_utils.get_request(url) + response = test_utils.check_netconf_node_request( + "XPDR-A1", + "interface/XPDR1-NETWORK2-753:760/org-openroadm-optical-channel-interfaces:och") self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertEqual(-5, res['org-openroadm-optical-channel-interfaces:och']['transmit-power']) # self.assertEqual(2, res['org-openroadm-optical-channel-interfaces:och']['wavelength-number']) def test_35_servicePath_delete_AToZ(self): - url = "{}/operations/transportpce-device-renderer:service-path" - data = { - "input": { - "service-name": "test", - "wave-number": "1", - "modulation-format": "qpsk", - "operation": "delete", - "nodes": [ - { - "dest-tp": "XPDR1-NETWORK2", - "src-tp": "XPDR1-CLIENT2", - "node-id": "XPDR-A1" - }, - { - "dest-tp": "DEG2-TTP-TXRX", - "src-tp": "SRG1-PP2-TXRX", - "node-id": "ROADM-A1" - } - ] - } - } - response = test_utils.post_request(url, data) + response = test_utils.service_path_request("delete", "test", "1", + [{"node-id": "XPDR-A1", + "dest-tp": "XPDR1-NETWORK2", "src-tp": "XPDR1-CLIENT2"}, + {"node-id": "ROADM-A1", + "dest-tp": "DEG2-TTP-TXRX", "src-tp": "SRG1-PP2-TXRX"}], + 196.053125, 40, 196.025, 196.08125, 761, + 768) self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn('Request processed', res["output"]["result"])