コード例 #1
0
 def test_18_success1_path_computation(self):
     response = test_utils.path_computation_request("request1", "service1",
                                                    {"service-format": "Ethernet", "service-rate": "100",
                                                     "clli": "ORANGE2", "node-id": "XPONDER-2-2"},
                                                    {"service-format": "Ethernet", "service-rate": "100",
                                                        "clli": "ORANGE1", "node-id": "XPONDER-1-2"},
                                                    {"customer-code": ["Some customer-code"],
                                                        "co-routing": {
                                                        "service-identifier-list": [
                                                            {
                                                                "service-identifier": "Some existing-service",
                                                            }
                                                        ]
                                                    }
                                                    },
                                                    {"customer-code": ["Some customer-code"],
                                                        "co-routing": {
                                                        "service-identifier-list": [
                                                            {
                                                                "service-identifier": "Some existing-service",
                                                            }
                                                        ]
                                                    }
                                                    }, "hop-count")
     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)
コード例 #2
0
 def test_04_path_computation_FeasibleWithPCE(self):
     response = test_utils.path_computation_request(
         "request-1", "service-1", {
             "node-id": "XPONDER-1",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node1"
         }, {
             "node-id": "XPONDER-5",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node5"
         })
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertEqual(
         res['output']['configuration-response-common']['response-code'],
         '200')
     self.assertEqual(
         res['output']['configuration-response-common']['response-message'],
         'Path is calculated by PCE')
     self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
                      'A-to-Z')
     self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],
                      True)
     self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
                      'Z-to-A')
     self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],
                      True)
     time.sleep(5)
コード例 #3
0
 def test_20_success3_path_computation(self):
     response = test_utils.path_computation_request(
         "request 1", "service 1", {
             "service-rate": "100",
             "service-format": "Ethernet",
             "node-id": "XPONDER-1-2",
             "clli": "ORANGE1"
         }, {
             "service-rate": "100",
             "service-format": "Ethernet",
             "node-id": "XPONDER-3-2",
             "clli": "ORANGE3"
         }, {"exclude_": {
             "node-id": ["OpenROADM-2-1", "OpenROADM-2-2"]
         }})
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertIn(
         'Path is calculated',
         res['output']['configuration-response-common']['response-message'])
     self.assertEqual(
         9, res['output']['response-parameters']['path-description']
         ['aToZ-direction']['aToZ-wavelength-number'])
     self.assertEqual(
         9, res['output']['response-parameters']['path-description']
         ['zToA-direction']['zToA-wavelength-number'])
     time.sleep(5)
コード例 #4
0
 def test_23_path_computation_after_oms_attribute_deletion(self):
     response = test_utils.path_computation_request(
         "request 1", "service 1", {
             "service-rate": "100",
             "service-format": "Ethernet",
             "node-id": "XPONDER-2-2",
             "clli": "ORANGE2"
         }, {
             "service-rate": "100",
             "service-format": "Ethernet",
             "node-id": "XPONDER-1-2",
             "clli": "ORANGE1"
         })
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertIn(
         'Path is calculated',
         res['output']['configuration-response-common']['response-message'])
     nbElmPath = len(res['output']['response-parameters']
                     ['path-description']['aToZ-direction']['aToZ'])
     self.assertEqual(47, nbElmPath)
     link = {
         "link-id": "OpenROADM-1-3-DEG2-to-OpenROADM-1-2-DEG2",
         "state": "inService"
     }
     find = False
     for i in range(0, nbElmPath):
         resource_i = (
             res['output']['response-parameters']['path-description']
             ['aToZ-direction']['aToZ'][i]['resource'])
         if resource_i == link:
             find = True
     self.assertNotEqual(find, True)
     time.sleep(5)
コード例 #5
0
 def test_12_path_computation_rdm_uni(self):
     response = test_utils.path_computation_request(
         "request1", "service1", {
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "cll21",
             "node-id": "OpenROADM-2-1"
         }, {
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "ncli22",
             "node-id": "OpenROADM-2-2"
         })
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertIn(
         'Path is calculated',
         res['output']['configuration-response-common']['response-message'])
     # ZtoA path test
     atozList = len(res['output']['response-parameters']['path-description']
                    ['aToZ-direction']['aToZ'])
     ztoaList = len(res['output']['response-parameters']['path-description']
                    ['zToA-direction']['zToA'])
     self.assertEqual(atozList, 15)
     self.assertEqual(ztoaList, 15)
     for i in range(0, 15):
         atoz = res['output']['response-parameters']['path-description'][
             'aToZ-direction']['aToZ'][i]
         ztoa = res['output']['response-parameters']['path-description'][
             'zToA-direction']['zToA'][i]
         if atoz['id'] == '14':
             self.assertEqual(atoz['resource']['tp-id'], 'SRG1-PP1-TX')
         if ztoa['id'] == '0':
             self.assertEqual(ztoa['resource']['tp-id'], 'SRG1-PP1-RX')
     time.sleep(5)
コード例 #6
0
 def test_07_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
     response = test_utils.path_computation_request(
         "request-4", "service-4", {
             "node-id": "XPONDER-1",
             "service-rate": "400",
             "service-format": "Ethernet",
             "clli": "Node1"
         }, {
             "node-id": "XPONDER-4",
             "service-rate": "400",
             "service-format": "Ethernet",
             "clli": "Node4"
         }, {
             "include": {
                 "node-id": ["OpenROADM-3", "OpenROADM-2", "OpenROADM-5"]
             }
         })
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertEqual(
         res['output']['configuration-response-common']['response-code'],
         '500')
     self.assertEqual(
         res['output']['configuration-response-common']['response-message'],
         'No path available by PCE and GNPy ')
     time.sleep(5)
コード例 #7
0
    def test_09_path_computation_100G_xpdr_bi(self):
        response = test_utils.path_computation_request(
            "request-1", "service-100GE", {
                "service-rate": "100",
                "clli": "NodeA",
                "service-format": "Ethernet",
                "node-id": "XPDR-A2",
                "tx-direction": {
                    "port": {
                        "port-device-name": "XPDR-A2-XPDR2",
                        "port-name": "XPDR2-CLIENT1"
                    }
                }
            }, {
                "service-rate": "100",
                "clli": "NodeC",
                "service-format": "Ethernet",
                "node-id": "XPDR-C2",
                "tx-direction": {
                    "port": {
                        "port-device-name": "XPDR-C2-XPDR2",
                        "port-name": "XPDR2-CLIENT1"
                    }
                }
            })

        self.assertEqual(response.status_code, requests.codes.ok)
        res = response.json()
        self.assertIn(
            'Path is calculated',
            res['output']['configuration-response-common']['response-message'])

        self.assertEqual(
            100, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['rate'])
        self.assertEqual(
            '1.1', res['output']['response-parameters']['path-description']
            ['aToZ-direction']['min-trib-slot'])
        self.assertEqual(
            '1.20', res['output']['response-parameters']['path-description']
            ['aToZ-direction']['max-trib-slot'])
        self.assertEqual(
            'dp-qpsk', res['output']['response-parameters']['path-description']
            ['aToZ-direction']['modulation-format'])

        self.assertEqual(
            100, res['output']['response-parameters']['path-description']
            ['zToA-direction']['rate'])
        self.assertEqual(
            '1.1', res['output']['response-parameters']['path-description']
            ['zToA-direction']['min-trib-slot'])
        self.assertEqual(
            '1.20', res['output']['response-parameters']['path-description']
            ['zToA-direction']['max-trib-slot'])
        self.assertEqual(
            'dp-qpsk', res['output']['response-parameters']['path-description']
            ['zToA-direction']['modulation-format'])
        time.sleep(5)
コード例 #8
0
 def test_11_path_computation_xpdr_uni(self):
     response = test_utils.path_computation_request("request-1", "service-1",
                                                    {"node-id": "XPONDER-1-2", "service-rate": "100",
                                                        "service-format": "Ethernet", "clli": "ORANGE1"},
                                                    {"node-id": "XPONDER-3-2", "service-rate": "100",
                                                        "service-format": "Ethernet", "clli": "ORANGE3"})
     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)
コード例 #9
0
 def test_05_path_computation_rdm_bi(self):
     response = test_utils.path_computation_request("request-1", "service-1",
                                                    {"node-id": "ROADMA01", "service-rate": "100",
                                                        "service-format": "Ethernet", "clli": "NodeA"},
                                                    {"node-id": "ROADMC01", "service-rate": "100",
                                                        "service-format": "Ethernet", "clli": "NodeC"})
     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)
コード例 #10
0
    def test_03_path_computation_400G_xpdr_bi(self):
        response = test_utils.path_computation_request(
            "request-1", "service-1", {
                "node-id": "XPDR-A2",
                "service-rate": "400",
                "service-format": "Ethernet",
                "clli": "nodeA"
            }, {
                "node-id": "XPDR-C2",
                "service-rate": "400",
                "service-format": "Ethernet",
                "clli": "nodeC"
            })
        self.assertEqual(response.status_code, requests.codes.ok)
        res = response.json()
        self.assertIn(
            'Path is calculated',
            res['output']['configuration-response-common']['response-message'])

        self.assertEqual(
            1, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['aToZ-wavelength-number'])
        self.assertEqual(
            400, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['rate'])
        self.assertEqual(
            196.0375, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['aToZ-min-frequency'])
        self.assertEqual(
            196.12500, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['aToZ-max-frequency'])
        self.assertEqual(
            'dp-qam16', res['output']['response-parameters']
            ['path-description']['aToZ-direction']['modulation-format'])

        self.assertEqual(
            1, res['output']['response-parameters']['path-description']
            ['zToA-direction']['zToA-wavelength-number'])
        self.assertEqual(
            400, res['output']['response-parameters']['path-description']
            ['zToA-direction']['rate'])
        self.assertEqual(
            196.0375, res['output']['response-parameters']['path-description']
            ['zToA-direction']['zToA-min-frequency'])
        self.assertEqual(
            196.12500, res['output']['response-parameters']['path-description']
            ['zToA-direction']['zToA-max-frequency'])
        self.assertEqual(
            'dp-qam16', res['output']['response-parameters']
            ['path-description']['zToA-direction']['modulation-format'])
        time.sleep(5)
コード例 #11
0
 def test_05_path_computation_FoundByPCE_NotFeasibleByGnpy(self):
     response = test_utils.path_computation_request(
         "request-2", "service-2", {
             "node-id": "XPONDER-1",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node1"
         }, {
             "node-id": "XPONDER-5",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node5"
         }, {
             "include_": {
                 "ordered-hops": [{
                     "hop-number": "0",
                     "hop-type": {
                         "node-id": "OpenROADM-2"
                     }
                 }, {
                     "hop-number": "1",
                     "hop-type": {
                         "node-id": "OpenROADM-3"
                     }
                 }, {
                     "hop-number": "2",
                     "hop-type": {
                         "node-id": "OpenROADM-4"
                     }
                 }]
             }
         })
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertEqual(
         res['output']['configuration-response-common']['response-code'],
         '500')
     self.assertEqual(
         res['output']['configuration-response-common']['response-message'],
         'No path available by PCE and GNPy ')
     self.assertEqual(res['output']['gnpy-response'][1]['path-dir'],
                      'A-to-Z')
     self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],
                      False)
     self.assertEqual(res['output']['gnpy-response'][0]['path-dir'],
                      'Z-to-A')
     self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],
                      False)
     time.sleep(5)
コード例 #12
0
    def test_07_path_computation_ODUC4_xpdr_bi(self):
        response = test_utils.path_computation_request(
            "request-1", "service-ODUC4", {
                "service-rate": "400",
                "clli": "NodeA",
                "service-format": "ODU",
                "node-id": "XPDR-A2",
                "tx-direction": {
                    "port": {
                        "port-device-name": "XPDR-A2-XPDR2"
                    }
                }
            }, {
                "service-rate": "400",
                "clli": "NodeC",
                "service-format": "ODU",
                "node-id": "XPDR-C2",
                "tx-direction": {
                    "port": {
                        "port-device-name": "XPDR-C2-XPDR2"
                    }
                }
            })
        self.assertEqual(response.status_code, requests.codes.ok)
        res = response.json()
        self.assertIn(
            'Path is calculated',
            res['output']['configuration-response-common']['response-message'])

        self.assertEqual(
            400, res['output']['response-parameters']['path-description']
            ['aToZ-direction']['rate'])
        self.assertEqual(
            'dp-qam16', res['output']['response-parameters']
            ['path-description']['aToZ-direction']['modulation-format'])

        self.assertEqual(
            400, res['output']['response-parameters']['path-description']
            ['zToA-direction']['rate'])
        self.assertEqual(
            'dp-qam16', res['output']['response-parameters']
            ['path-description']['zToA-direction']['modulation-format'])
        time.sleep(5)
コード例 #13
0
 def test_06_path_computation_NotFoundByPCE_FoundByGNPy(self):
     response = test_utils.path_computation_request(
         "request-3", "service-3", {
             "node-id": "XPONDER-1",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node1"
         }, {
             "node-id": "XPONDER-4",
             "service-rate": "100",
             "service-format": "Ethernet",
             "clli": "Node5"
         }, {"include": {
             "node-id": ["OpenROADM-2", "OpenROADM-3"]
         }})
     self.assertEqual(response.status_code, requests.codes.ok)
     res = response.json()
     self.assertEqual(
         res['output']['configuration-response-common']['response-code'],
         '200')
     self.assertEqual(
         res['output']['configuration-response-common']['response-message'],
         'Path is calculated by GNPy')
     self.assertIn('A-to-Z', [
         res['output']['gnpy-response'][0]['path-dir'],
         res['output']['gnpy-response'][1]['path-dir']
     ])
     self.assertIn('Z-to-A', [
         res['output']['gnpy-response'][0]['path-dir'],
         res['output']['gnpy-response'][1]['path-dir']
     ])
     self.assertEqual(res['output']['gnpy-response'][1]['feasibility'],
                      True)
     self.assertEqual(res['output']['gnpy-response'][0]['feasibility'],
                      True)
     time.sleep(5)
コード例 #14
0
 def test_18_success1_path_computation(self):
     response = test_utils.path_computation_request(
         "request1", "service1", {
             "service-format": "Ethernet",
             "service-rate": "100",
             "clli": "ORANGE2",
             "node-id": "XPONDER-2-2",
             "tx-direction": {
                 "port": {
                     "port-device-name": "Some port-device-name",
                     "port-type": "Some port-type",
                     "port-name": "Some port-name",
                     "port-rack": "Some port-rack",
                     "port-shelf": "Some port-shelf",
                     "port-slot": "Some port-slot",
                     "port-sub-slot": "Some port-sub-slot"
                 }
             },
             "rx-direction": {
                 "port": {
                     "port-device-name": "Some port-device-name",
                     "port-type": "Some port-type",
                     "port-name": "Some port-name",
                     "port-rack": "Some port-rack",
                     "port-shelf": "Some port-shelf",
                     "port-slot": "Some port-slot",
                     "port-sub-slot": "Some port-sub-slot"
                 }
             }
         }, {
             "service-format": "Ethernet",
             "service-rate": "100",
             "clli": "ORANGE1",
             "node-id": "XPONDER-1-2",
             "tx-direction": {
                 "port": {
                     "port-device-name": "Some port-device-name",
                     "port-type": "Some port-type",
                     "port-name": "Some port-name",
                     "port-rack": "Some port-rack",
                     "port-shelf": "Some port-shelf",
                     "port-slot": "Some port-slot",
                     "port-sub-slot": "Some port-sub-slot"
                 }
             },
             "rx-direction": {
                 "port": {
                     "port-device-name": "Some port-device-name",
                     "port-type": "Some port-type",
                     "port-name": "Some port-name",
                     "port-rack": "Some port-rack",
                     "port-shelf": "Some port-shelf",
                     "port-slot": "Some port-slot",
                     "port-sub-slot": "Some port-sub-slot"
                 }
             }
         }, {
             "customer-code": ["Some customer-code"],
             "co-routing": {
                 "existing-service": ["Some existing-service"]
             }
         }, {
             "customer-code": ["Some customer-code"],
             "co-routing": {
                 "existing-service": ["Some existing-service"]
             }
         }, "hop-count", {"locally-protected-links": "true"})
     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)