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)
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)
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 + '"')
def testReplace(self): '''Test "firewall { replace:" addition.''' a = acl.ACL('test') self.assertEqual( '\n'.join(a.output_junos(replace=True)), '''\ firewall { replace: filter test { } }''')
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')
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)
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)
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)
def testMissingACLName(self): """Test conversion of anonymous ACLs to JunOS format""" self.assertRaises(exceptions.MissingACLName, acl.ACL().output_junos)