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)
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': "" }), "")
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), "")
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)
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