summaryrefslogtreecommitdiff
path: root/tests/test_rrset.py
diff options
context:
space:
mode:
authorBob Halley <halley@dnspython.org>2020-05-30 07:12:54 -0700
committerBob Halley <halley@dnspython.org>2020-05-30 07:12:54 -0700
commit8cc4963a1a7323ec320f7cd4b02a70b8b9df04f6 (patch)
tree31d9374bd7d4556d71da92d1b8c8ce34c46b522c /tests/test_rrset.py
parentd4ca72c7395a9d4b67539952c83b60a59c4d31be (diff)
downloaddnspython-8cc4963a1a7323ec320f7cd4b02a70b8b9df04f6.tar.gz
improve rrset and rdataset coverage
Diffstat (limited to 'tests/test_rrset.py')
-rw-r--r--tests/test_rrset.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/test_rrset.py b/tests/test_rrset.py
index e8211db..746714e 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()