From: Bob Halley Date: Sat, 30 May 2020 14:12:54 +0000 (-0700) Subject: improve rrset and rdataset coverage X-Git-Tag: v2.0.0rc1~138 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cc4963a1a7323ec320f7cd4b02a70b8b9df04f6;p=thirdparty%2Fdnspython.git improve rrset and rdataset coverage --- diff --git a/tests/test_rrset.py b/tests/test_rrset.py index e8211dbe..746714e6 100644 --- a/tests/test_rrset.py +++ b/tests/test_rrset.py @@ -107,6 +107,13 @@ class RRsetTestCase(unittest.TestCase): dns.rdatatype.A, dns.rdatatype.NONE, dns.rdataclass.ANY)) + def testNoMatch3(self): + r1 = dns.rrset.from_text_list('foo', 30, 'in', 'a', + ['10.0.0.1', '10.0.0.2']) + self.assertFalse(r1.match(r1.name, dns.rdataclass.IN, + dns.rdatatype.MX, dns.rdatatype.NONE, + dns.rdataclass.ANY)) + def testToRdataset(self): r1 = dns.rrset.from_text_list('foo', 30, 'in', 'a', ['10.0.0.1', '10.0.0.2']) @@ -114,5 +121,40 @@ class RRsetTestCase(unittest.TestCase): ['10.0.0.1', '10.0.0.2']) self.assertEqual(r1.to_rdataset(), r2) + def testFromRdata(self): + rdata1 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.A, + '10.0.0.1') + rdata2 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.A, + '10.0.0.2') + expected_rrs = dns.rrset.from_text('foo', 300, 'in', 'a', '10.0.0.1', + '10.0.0.2') + rrs = dns.rrset.from_rdata('foo', 300, rdata1, rdata2) + self.assertEqual(rrs, expected_rrs) + + def testEmptyList(self): + def bad(): + rrs = dns.rrset.from_rdata_list('foo', 300, []) + self.assertRaises(ValueError, bad) + + def testTTLMinimization(self): + rrs = dns.rrset.RRset(dns.name.from_text('foo'), + dns.rdataclass.IN, dns.rdatatype.A) + rdata1 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.A, + '10.0.0.1') + rdata2 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.A, + '10.0.0.2') + rrs.add(rdata1, 300) + self.assertEqual(rrs.ttl, 300) + rrs.add(rdata2, 30) + self.assertEqual(rrs.ttl, 30) + # adding the same thing with a smaller TTL also minimizes + rrs.add(rdata2, 3) + self.assertEqual(rrs.ttl, 3) + + def testNotEqualOtherType(self): + rrs = dns.rrset.RRset(dns.name.from_text('foo'), + dns.rdataclass.IN, dns.rdatatype.A) + self.assertFalse(rrs == 123) + if __name__ == '__main__': unittest.main()