Beispiel #1
0
 def test_is_nat_port_in_pool(self, patch):
     self.pcp = pcp(dh=None)
     self.pcp.log = MagicMock()
     data = {
         'nat_port': '1025',
         'eim_nat_port': '1025',
         'ports_in_use': '10',
         'sess_cnt': '0',
         'state': 'active',
         'state_to': '123'
     }
     self.pcp.tg_cfg_map = {
         '1/1': {
             'spic': 'ms-5/0/0',
             'sset': 'ss1',
             'nat_rule': 'nr1',
             'nat_pool': 'np1',
             'nat_ip': '112.1.1.0/24',
             'nat_port': '1024-3456',
             'nat_port_low': '1024',
             'nat_port_high': '3456',
             'tot_sess': 1,
             'rand_sess_idx_list': [0]
         }
     }
     self.assertEqual(
         self.pcp._is_nat_port_in_pool(data, self.pcp.tg_cfg_map['1/1']),
         True)
Beispiel #2
0
 def test_is_nat_ip_in_pool(self, iputils_patch):
     iputils_patch.return_value = True
     self.pcp = pcp(dh=None)
     self.pcp.log = MagicMock()
     self.pcp.fn_checkin = MagicMock()
     self.pcp.fn_checkout = MagicMock()
     self.assertNotEqual(
         self.pcp._is_nat_ip_in_pool({
             'nat_ip': "",
             'eim_nat_ip': ""
         }, {
             'nat_ip': "",
             'eim_nat_ip': ""
         }), "")
     self.assertNotEqual(
         self.pcp._is_nat_ip_in_pool({
             'nat_ip': None,
             'eim_nat_ip': None
         }, {
             'nat_ip': "",
             'eim_nat_ip': ""
         }), "")
     iputils_patch.return_value = False
     self.assertNotEqual(
         self.pcp._is_nat_ip_in_pool({
             'nat_ip': "",
             'eim_nat_ip': ""
         }, {
             'nat_ip': "",
             'eim_nat_ip': ""
         }), "")
Beispiel #3
0
 def test__get_tg_port_and_config_mapping(self, port_patch):
     self.pcp = pcp(dh=None)
     self.pcp.log = MagicMock()
     self.pcp.tg_sess = {'1/1': {'total_pcp_reqs': 99}}
     self.pcp.tg_cfg_map = {"1/1": {"spic": '1/1'}}
     self.pcp.tg_sess_cnt = {"1/1": {}}
     self.assertNotEqual(
         self.pcp._get_tg_port_and_config_mapping(limit=2, limit_perc=1),
         "")
     self.pcp.tg_sess_cnt = None
     self.pcp.fn_checkin = MagicMock()
     self.pcp.fn_checkout = MagicMock()
     self.pcp.fn_checkout.return_value = True
     self.assertNotEqual(
         self.pcp._get_tg_port_and_config_mapping(limit=2, limit_perc=1),
         "")
Beispiel #4
0
 def test__get_pcp_ip_port_flow_from_data(self, port_patch):
     self.pcp = pcp(dh=None)
     self.pcp.log = MagicMock()
     self.pcp.fn_checkin = MagicMock()
     self.pcp.fn_checkout = MagicMock()
     self.pcp.fn_checkout.return_value = True
     data = {
         'spic': {
             "sset": {
                 'nat_pool': {
                     'pcp_ip': {
                         'int_ip': {
                             'int_port': ""
                         }
                     }
                 }
             }
         }
     }
     self.assertNotEqual(
         self.pcp._get_pcp_ip_port_flow_from_data(
             {
                 'pcp_ip': "pcp_ip",
                 "int_ip": "int_ip",
                 "int_port": "int_port"
             }, {
                 'spic': "spic",
                 "sset": "sset",
                 "nat_pool": "nat_pool"
             }, data), None)
     data = {
         'spic': {
             "sset": {
                 'nat_pool': {
                     'pcp_ip': {
                         'int_ip': {
                             'int_port': None
                         }
                     }
                 }
             }
         }
     }
     self.assertNotEqual(
         self.pcp._get_pcp_ip_port_flow_from_data(
             {
                 'pcp_ip': "pcp_ip",
                 "int_ip": "int_ip",
                 "int_port": "int_port"
             }, {
                 'spic': "spic",
                 "sset": "sset",
                 "nat_pool": "nat_pool"
             }, data), True)
     data = {'spic': {"sset": {'nat_pool': {'pcp_ip': {}}}}}
     # with self.assertRaises(TypeError) as context:
     self.assertNotEqual(
         self.pcp._get_pcp_ip_port_flow_from_data(
             {
                 'pcp_ip': "pcp_ip",
                 "int_ip": "int_ip",
                 "int_port": "int_port"
             }, {
                 'spic': "spic",
                 "sset": "sset",
                 "nat_pool": "nat_pool"
             }, data), True)
Beispiel #5
0
    def setUp(self):
        self.pcp = pcp(dh=None)
        self.xml = xml_tool()
        self.pcp.log = MagicMock()
        self.pcp.config = MagicMock()
        self.pcp.config.return_value = True
        self.pcp.cmd_add = MagicMock()
        self.pcp.config = MagicMock()
        self.pcp.dh = MagicMock()
        self.pcp.dh.cli = MagicMock()
        self.pcp.dh.cli = MagicMock()
        self.pcp.fn_checkin = MagicMock()
        self.pcp.fn_checkout = MagicMock()
        self.pcp.fn_checkout.return_value = True

        dd = {}
        dd = lambda: defaultdict(dd)
        self.pcp.dd = MagicMock()
        self.pcp.dd.return_value = dd()

        self.pcp.r_if = {'ss1'}
        self.pcp.resource = 'esst480p'
        #self.pcp.topo = {'intf' : {'ms-5/0/0' : { 'path' : 'r0r1'}}, 'path_res' : { 'esst480p' : { 'r0r1' : ['intf1']}}}
        self.pcp.topo = {
            'intf': {
                '1/1': {
                    'path': 'r0r1'
                }
            },
            'path_res': {
                'esst480p': {
                    'r0r1': ['intf1']
                }
            }
        }
        builtins.t = {
            'resources': {
                'esst480p': {
                    'interfaces': {
                        'intf1': {
                            'pic': 'ms-5/0/0'
                        }
                    }
                }
            }
        }
        self.pcp.intf_ss = {'ms-5/0/0': 'ss1'}
        self.pcp.sset = {'ss1': {'spic': 'ms-5/0/0', 'nat_rules': ['nr1']}}
        #self.pcp.nat_rule = {'nr1': {'src_pool': 'np1'}}
        #self.pcp.nat_rule = {'nr1': {'src_pool': 'np1', 'trans_type': 'dnat','trans_eim': 1,'trans_eif': 1}}
        self.pcp.nat_rule = {
            'nr1': {
                'src_pool': 'np1',
                'trans_type': 'napt',
                'trans_eim': 1,
                'trans_eif': 1
            }
        }
        self.pcp.nat_pool = {
            'np1': {
                'trans_type': 'napt',
                'addr': '112.1.1.0/24',
                'nat_port': '1024-3456'
            },
            'np2': {
                'trans_type': 'dynamic',
                'addr': '120.1.1.0/24'
            }
        }
        #self.pcp.tg_sess = {'ms-5/0/0': {'sess_list': [{'src_ip': '11.1.1.2','src_port': '5060'},{'src_ip': '11.1.1.2','src_port': '5060'},{'src_ip': '11.1.1.2','src_port': '5060'}]}}
        self.pcp.tg_sess = {
            '1/1': {
                'total':
                10,
                'src_ips_list': ['11.1.1.2', '11.1.1.3'],
                'dst_ips_list': ['60.1.1.2', '60.1.1.3'],
                'sess_list': [{
                    'src_ip': '11.1.1.2',
                    'src_port': '5060'
                }, {
                    'src_ip': '11.1.1.2',
                    'src_port': '5060'
                }, {
                    'src_ip': '11.1.1.2',
                    'src_port': '5060'
                }]
            },
            'total': 10
        }
        self.pcp.tg_cfg_map = {
            '1/1': {
                'spic': 'ms-5/0/0',
                'sset': 'ss1',
                'nat_rule': 'nr1',
                'nat_pool': 'np1',
                'nat_ip': '112.1.1.0/24',
                'nat_port': '1024-3456',
                'nat_port_low': '1024',
                'nat_port_high': '3456',
                'tot_sess': 1,
                'rand_sess_idx_list': [0]
            }
        }
        #self.pcp.tg_sess_cnt_pcp = {'1/1':10, 'total': 10}
        self.pcp.pool_map = {'np1': {'tot_sess': 10}, 'np2': {'tot_sess': 10}}
        self.pcp.MissingMandatoryArgument = MissingMandatoryArgument