X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Ftransportpce_tests%2F2.2.1%2Ftest_portmapping.py;h=f28beb45f43e4ba31f0b797e3dfb578a6928bb7a;hb=f14d37954ffcf069743b1c1b8f52811606667ed8;hp=4b54cb284eae92ee4865c1305c0d3f27c66e71ad;hpb=1b290f8e8a33836fcf5960ebbd19ae5afe4b17ce;p=transportpce.git diff --git a/tests/transportpce_tests/2.2.1/test_portmapping.py b/tests/transportpce_tests/2.2.1/test_portmapping.py index 4b54cb284..f28beb45f 100644 --- a/tests/transportpce_tests/2.2.1/test_portmapping.py +++ b/tests/transportpce_tests/2.2.1/test_portmapping.py @@ -23,26 +23,16 @@ import test_utils class TransportPCEPortMappingTesting(unittest.TestCase): - honeynode_process1 = None - honeynode_process2 = None + sim_process1 = None + sim_process2 = None odl_process = None restconf_baseurl = "http://localhost:8181/restconf" @classmethod def setUpClass(cls): - print ("starting honeynode1...") - cls.honeynode_process1 = test_utils.start_xpdra_honeynode() - time.sleep(20) - - print ("starting honeynode2...") - cls.honeynode_process2 = test_utils.start_roadma_honeynode() - time.sleep(20) - print ("all honeynodes started") - - print ("starting opendaylight...") cls.odl_process = test_utils.start_tpce() - time.sleep(60) - print ("opendaylight started") + cls.sim_process1 = test_utils.start_sim('xpdra') + cls.sim_process2 = test_utils.start_sim('roadma') @classmethod def tearDownClass(cls): @@ -51,31 +41,31 @@ class TransportPCEPortMappingTesting(unittest.TestCase): child.wait() cls.odl_process.send_signal(signal.SIGINT) cls.odl_process.wait() - for child in psutil.Process(cls.honeynode_process1.pid).children(): + for child in psutil.Process(cls.sim_process1.pid).children(): child.send_signal(signal.SIGINT) child.wait() - cls.honeynode_process1.send_signal(signal.SIGINT) - cls.honeynode_process1.wait() - for child in psutil.Process(cls.honeynode_process2.pid).children(): + cls.sim_process1.send_signal(signal.SIGINT) + cls.sim_process1.wait() + for child in psutil.Process(cls.sim_process2.pid).children(): child.send_signal(signal.SIGINT) child.wait() - cls.honeynode_process2.send_signal(signal.SIGINT) - cls.honeynode_process2.wait() + cls.sim_process2.send_signal(signal.SIGINT) + cls.sim_process2.wait() def setUp(self): - print ("execution of {}".format(self.id().split(".")[-1])) + print("execution of {}".format(self.id().split(".")[-1])) time.sleep(10) def test_01_rdm_device_connected(self): url = ("{}/config/network-topology:" "network-topology/topology/topology-netconf/node/ROADM-A1" - .format(self.restconf_baseurl)) + .format(self.restconf_baseurl)) data = {"node": [{ "node-id": "ROADM-A1", "netconf-node-topology:username": "admin", "netconf-node-topology:password": "admin", "netconf-node-topology:host": "127.0.0.1", - "netconf-node-topology:port": "17841", + "netconf-node-topology:port": test_utils.sims['roadma']['port'], "netconf-node-topology:tcp-only": "false", "netconf-node-topology:pass-through": {}}]} headers = {'content-type': 'application/json'} @@ -110,10 +100,10 @@ class TransportPCEPortMappingTesting(unittest.TestCase): res = response.json() self.assertEqual( {u'node-info': {u'node-type': u'rdm', - u'node-ip-address': u'127.0.0.11', - u'node-clli': u'NodeA', - u'openroadm-version': u'2.2.1', u'node-vendor': u'vendorA', - u'node-model': u'model2'}}, + u'node-ip-address': u'127.0.0.11', + u'node-clli': u'NodeA', + u'openroadm-version': u'2.2.1', u'node-vendor': u'vendorA', + u'node-model': u'model2'}}, res) time.sleep(3) @@ -178,13 +168,13 @@ class TransportPCEPortMappingTesting(unittest.TestCase): def test_08_xpdr_device_connected(self): url = ("{}/config/network-topology:" "network-topology/topology/topology-netconf/node/XPDR-A1" - .format(self.restconf_baseurl)) + .format(self.restconf_baseurl)) data = {"node": [{ "node-id": "XPDR-A1", "netconf-node-topology:username": "admin", "netconf-node-topology:password": "admin", "netconf-node-topology:host": "127.0.0.1", - "netconf-node-topology:port": "17840", + "netconf-node-topology:port": test_utils.sims['xpdra']['port'], "netconf-node-topology:tcp-only": "false", "netconf-node-topology:pass-through": {}}]} headers = {'content-type': 'application/json'} @@ -219,10 +209,10 @@ class TransportPCEPortMappingTesting(unittest.TestCase): res = response.json() self.assertEqual( {u'node-info': {u'node-type': u'xpdr', - u'node-ip-address': u'1.2.3.4', - u'node-clli': u'NodeA', - u'openroadm-version': u'2.2.1', u'node-vendor': u'vendorA', - u'node-model': u'model2'}}, + u'node-ip-address': u'1.2.3.4', + u'node-clli': u'NodeA', + u'openroadm-version': u'2.2.1', u'node-vendor': u'vendorA', + u'node-model': u'model2'}}, res) time.sleep(3) @@ -236,9 +226,11 @@ class TransportPCEPortMappingTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( - {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET', + {'supported-interface-capability': ['org-openroadm-port-types:if-OCH'], + 'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-network', - 'port-direction': 'bidirectional', 'associated-lcp': 'XPDR1-CLIENT1'}, + 'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1', + 'lcp-hash-val': '8e128ba57560403cfd4ffafae38cd941'}, res['mapping']) def test_12_xpdr_portmapping_NETWORK2(self): @@ -251,9 +243,11 @@ class TransportPCEPortMappingTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( - {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET', + {'supported-interface-capability': ['org-openroadm-port-types:if-OCH'], + 'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET', 'logical-connection-point': 'XPDR1-NETWORK2', 'port-direction': 'bidirectional', - 'associated-lcp': 'XPDR1-CLIENT2', 'port-qual': 'xpdr-network'}, + 'connection-map-lcp': 'XPDR1-CLIENT2', 'port-qual': 'xpdr-network', + 'lcp-hash-val': '8e128ba57560403cfd4ffafae38cd942'}, res['mapping']) def test_13_xpdr_portmapping_CLIENT1(self): @@ -266,10 +260,12 @@ class TransportPCEPortMappingTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( - {'supporting-port': 'C1', + {'supported-interface-capability': ['org-openroadm-port-types:if-100GE'], + 'supporting-port': 'C1', 'supporting-circuit-pack-name': '1/0/1-PLUG-CLIENT', 'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional', - 'associated-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client'}, + 'connection-map-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client', + 'lcp-hash-val': '3ed8ed1336784ac7c2f66c22f2f03d8'}, res['mapping']) def test_14_xpdr_portmapping_CLIENT2(self): @@ -282,20 +278,22 @@ class TransportPCEPortMappingTesting(unittest.TestCase): self.assertEqual(response.status_code, requests.codes.ok) res = response.json() self.assertIn( - {'supporting-port': 'C1', - 'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT', - 'logical-connection-point': 'XPDR1-CLIENT2', 'port-direction': 'bidirectional', - 'associated-lcp': 'XPDR1-NETWORK2', 'port-qual': 'xpdr-client'}, + {'supported-interface-capability': ['org-openroadm-port-types:if-100GE'], + 'supporting-port': 'C1', + 'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT', + 'logical-connection-point': 'XPDR1-CLIENT2', 'port-direction': 'bidirectional', + 'connection-map-lcp': 'XPDR1-NETWORK2', 'port-qual': 'xpdr-client', + 'lcp-hash-val': '3ed8ed1336784ac7c2f66c22f2f03db'}, res['mapping']) def test_15_xpdr_device_disconnected(self): url = ("{}/config/network-topology:" - "network-topology/topology/topology-netconf/node/XPDR-A1" + "network-topology/topology/topology-netconf/node/XPDR-A1" .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(20) @@ -308,8 +306,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase): 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']) def test_17_xpdr_device_disconnected(self): @@ -320,8 +318,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase): 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']) def test_18_rdm_device_disconnected(self): @@ -329,8 +327,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase): .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(20) @@ -343,8 +341,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase): 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']) def test_20_rdm_device_disconnected(self): @@ -355,8 +353,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase): 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'])