]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
only allow Resolver.nameservers to be a list 406/head
authorkimbo <kimballleavitt@gmail.com>
Mon, 6 Jan 2020 17:55:07 +0000 (10:55 -0700)
committerkimbo <kimballleavitt@gmail.com>
Mon, 6 Jan 2020 17:55:07 +0000 (10:55 -0700)
dns/resolver.py
tests/test_resolver.py

index 2ed0ebca76c3628a3196fd5739b93c48d26a3ec2..735de9f584842a03e6ffd047a7d3607c7ba27c4f 100644 (file)
@@ -524,7 +524,7 @@ class Resolver(object):
         """
 
         self.domain = None
-        self.nameservers = None
+        self.nameservers = []
         self.nameserver_ports = None
         self.port = None
         self.search = None
@@ -1086,19 +1086,13 @@ class Resolver(object):
     @nameservers.setter
     def nameservers(self, nameservers):
         """
-        :param nameservers: can be a ``str``, ``list``, or None.
-        If it's a ``str``, it will converted to a list.
-        :raise ValueError: if `nameservers` is anything other than \
-        ``str``, ``list``, or None.
+        :param nameservers: must be a ``list``.
+        :raise ValueError: if `nameservers` is anything other than a ``list``.
         """
-        if isinstance(nameservers, str):
-            self._nameservers = [nameservers]
-        elif isinstance(nameservers, list):
+        if isinstance(nameservers, list):
             self._nameservers = nameservers
-        elif nameservers is None:
-            self._nameservers = None
         else:
-            raise ValueError('nameservers must be either a str, a list, or None'
+            raise ValueError('nameservers must be a list'
                              ' (not a {})'.format(type(nameservers)))
 
 #: The default resolver.
index 34161ae80bdde1bcea77e4580c576b22d520b149..993a58208568ca8d5e1e7350e29dc81cd6edee57 100644 (file)
@@ -405,11 +405,6 @@ class NXDOMAINExceptionTestCase(unittest.TestCase):
 
 
 class ResolverNameserverValidTypeTestCase(unittest.TestCase):
-    def test_set_nameservers_to_string(self):
-        resolver = dns.resolver.Resolver()
-        resolver.nameservers = '1.2.3.4'
-        self.assertEqual(resolver.nameservers, ['1.2.3.4'])
-
     def test_set_nameservers_to_list(self):
         resolver = dns.resolver.Resolver()
         resolver.nameservers = ['1.2.3.4']
@@ -420,14 +415,9 @@ class ResolverNameserverValidTypeTestCase(unittest.TestCase):
         resolver.nameservers = []
         self.assertEqual(resolver.nameservers, [])
 
-    def test_set_nameservers_to_None(self):
-        resolver = dns.resolver.Resolver()
-        resolver.nameservers = None
-        self.assertEqual(resolver.nameservers, None)
-
     def test_set_nameservers_invalid_type(self):
         resolver = dns.resolver.Resolver()
-        invalid_nameservers = [1234, (1, 2, 3, 4), {'invalid': 'nameserver'}]
+        invalid_nameservers = [None, '1.2.3.4', 1234, (1, 2, 3, 4), {'invalid': 'nameserver'}]
         for invalid_nameserver in invalid_nameservers:
             with self.assertRaises(ValueError):
                 resolver.nameservers = invalid_nameserver