Пример #1
0
 def testEmptyAnonymousTerms(self):
     """Test inserting multiple anonymous empty terms"""
     a = acl.ACL()
     for i in range(5):
         a.terms.append(acl.Term())
         self.assertEqual(a.terms[i].name, None)
     self.assertEqual(len(a.terms), 5)
Пример #2
0
 def testEmptyNamedTerms(self):
     """Test inserting multiple anonymous named terms"""
     a = acl.ACL()
     for i in range(5):
         name = 'term' + str(i)
         a.terms.append(acl.Term(name))
         self.assertEqual(a.terms[i].name, name)
     self.assertEqual(len(a.terms), 5)
Пример #3
0
 def testBadNames(self):
     """Test names that are valid in no vendor's ACLs"""
     for name in ('', 'x' * 25):
         try:
             a = acl.ACL(name=name)
         except exceptions.ACLNameError:
             pass
         else:
             self.fail('expected ACLNameError on "' + name + '"')
Пример #4
0
    def testReplace(self):
        '''Test "firewall { replace:" addition.'''
        a = acl.ACL('test')
        self.assertEqual(
            '\n'.join(a.output_junos(replace=True)), '''\
firewall {
replace:
    filter test {
    }
}''')
Пример #5
0
 def testNameTerms(self):
     """Test automatic naming of terms."""
     a = acl.ACL()
     a.terms.append(acl.Term())
     a.terms.append(acl.Term())
     a.terms.append(acl.Term(name='foo'))
     a.name_terms()
     self.assertNotEqual(a.terms[0].name, None)
     self.assertNotEqual(a.terms[0].name, a.terms[1].name)
     self.assertEqual(a.terms[2].name, 'foo')
Пример #6
0
 def setUp(self):
     super(CheckOutput, self).setUp()
     self.a = acl.ACL()
     self.t1 = acl.Term(name='p99')
     self.t1.match['protocol'] = [99]
     self.t1.action = 'accept'
     self.a.terms.append(self.t1)
     self.t2 = acl.Term(name='windows')
     self.t2.match['protocol'] = ['tcp']
     self.t2.match['source-address'] = ['192.0.2.0/24']
     self.t2.match['destination-port'] = range(135, 139) + [445]
     self.t2.action = 'reject'
     self.t2.modifiers['syslog'] = True
     self.a.terms.append(self.t2)
Пример #7
0
 def testOkNames(self):
     """Test names that are valid in at least one vendor's ACLs"""
     names = ('101', '131mj', 'STR-MDC-ATM', 'with space', '3.14', None)
     for name in names:
         a = acl.ACL(name=name)
Пример #8
0
 def testBadACLNames(self):
     """Test conversion of ACLs with vendor-invalid names"""
     a = acl.ACL()
     for bad_name in ('blah', '500', '1', '131dj'):
         a.name = bad_name
         self.assertRaises(exceptions.BadACLName, a.output_ios)
Пример #9
0
 def testMissingACLName(self):
     """Test conversion of anonymous ACLs to JunOS format"""
     self.assertRaises(exceptions.MissingACLName, acl.ACL().output_junos)