예제 #1
0
 def test_20_make_firewall_addrgrp_table(self):
     for cnf in self.cnfs:
         rdf = TT.make_firewall_addrgrp_table(cnf,
                                              has_vdoms_=P.has_vdom(cnf))
         self.assertFalse(rdf.empty)
         self.assertTrue("G Suite" in rdf["edit"].values)
         self.assertTrue("host_192.168.3.1" in rdf["member"].values)
예제 #2
0
    def test_50_list_cnames_for_regexp(self):
        reg = TT.re.compile(r"firewall service.*")
        for cpath in self.cpaths:
            ref = _list_cnames_from_file(cpath)
            cnf = TT.parse_show_config(cpath)
            opts = dict(has_vdoms_=TT.has_vdom(cnf))
            res = TT.list_cnames_for_regexp(cnf, reg, **opts)

            self.assertEqual(res, ref)
예제 #3
0
 def test_30_make_firewall_address_table(self):
     for cnf in self.cnfs:
         rdf = TT.make_firewall_address_table(cnf,
                                              has_vdoms_=P.has_vdom(cnf))
         self.assertFalse(rdf.empty)
         self.assertTrue("SSLVPN_TUNNEL_ADDR1" in rdf["edit"].values)
         self.assertTrue("G Suite" in rdf["edit"].values)
         self.assertTrue(
             any("192.168.1.0/24" in addrs
                 for addrs in rdf["addrs"].values))
         self.assertTrue(
             any("192.168.3.3/32" in addrs
                 for addrs in rdf["addrs"].values))
예제 #4
0
class Base(C.TestCase):

    cpaths = C.list_res_files("show_configs", "*.txt")
    cnfs = [P.parse_show_config(p) for p in cpaths]
    hnames = [P.hostname_from_configs(c, P.has_vdom(c)) for c in cnfs]
    sargss = [dict(has_vdoms_=P.has_vdom(c)) for c in cnfs]

    # .. seealso:: tests/res/show_configs/*.txt
    ref_ips = [TT.ipaddress.ip_interface("192.168.122.10/24"),
               TT.ipaddress.ip_interface("192.168.1.10/24")]
    ref_fas = set(("0.0.0.0/32",
                   "192.168.3.3/32",
                   "192.168.3.1/32",
                   "192.168.3.5/32",
                   "192.168.122.0/24",
                   "192.168.122.1/32",
                   "192.168.1.0/24",
                   "192.168.2.3/32",
                   "192.168.2.2/32",
                   "192.168.5.202/32",
                   "192.168.2.1/32",
                   "192.168.5.201/32",
                   "192.168.5.200/32"))
예제 #5
0
 def test_10_make_firewall_address_table_1(self):
     for cnf in self.cnfs:
         rdf = TT.make_firewall_address_table_1(cnf,
                                                has_vdoms_=P.has_vdom(cnf))
         self.assertFalse(rdf.empty)
         self.assertTrue("SSLVPN_TUNNEL_ADDR1" in rdf["edit"].values)
예제 #6
0
 def setUp(self):
     self.fdfs = [
         TT.make_firewall_address_table(c, has_vdoms_=P.has_vdom(c))
         for c in self.cnfs
     ]
     self.pdfs = [TT.make_firewall_policy_table(c) for c in self.cpaths]
예제 #7
0
 def test_10_has_vdom(self):
     cnf = dict(configs=[dict(config="vdom")])
     self.assertTrue(TT.has_vdom(cnf))
     self.assertFalse(TT.has_vdom({}))