From bd82abdf55c4df17cf7ef6a9fae216c6b0ca2133 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Wed, 22 Jul 2020 08:52:37 -0700 Subject: [PATCH] more resolver coverage improvements --- tests/test_resolver.py | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/tests/test_resolver.py b/tests/test_resolver.py index e77466d6..ebb38250 100644 --- a/tests/test_resolver.py +++ b/tests/test_resolver.py @@ -92,6 +92,17 @@ no_nameservers = """ options rotate """ +unknown_and_bad_directives = """ +nameserver 10.0.0.1 +foo bar +bad +""" + +unknown_option = """ +nameserver 10.0.0.1 +option foobar +""" + message_text = """id 1234 opcode QUERY rcode NOERROR @@ -242,6 +253,21 @@ class BaseResolverTests(unittest.TestCase): with self.assertRaises(dns.resolver.NoResolverConfiguration): r.read_resolv_conf(f) + def testReadUnknownDirective(self): + # The real test here is ignoring the unknown directive and the bad + # directive. + f = StringIO(unknown_and_bad_directives) + r = dns.resolver.Resolver(configure=False) + r.read_resolv_conf(f) + self.assertEqual(r.nameservers, ['10.0.0.1']) + + def testReadUnknownOption(self): + # The real test here is ignoring the unknown option + f = StringIO(unknown_option) + r = dns.resolver.Resolver(configure=False) + r.read_resolv_conf(f) + self.assertEqual(r.nameservers, ['10.0.0.1']) + def testCacheExpiration(self): with FakeTime() as fake_time: message = dns.message.from_text(message_text) @@ -537,9 +563,8 @@ class LiveResolverTests(unittest.TestCase): self.assertEqual(zname, ezname) def testZoneForName3(self): - name = dns.name.from_text('dnspython.org.') ezname = dns.name.from_text('dnspython.org.') - zname = dns.resolver.zone_for_name(name) + zname = dns.resolver.zone_for_name('dnspython.org.') self.assertEqual(zname, ezname) def testZoneForName4(self): -- 2.47.3