"""
self.domain = None
- self.nameservers = None
+ self.nameservers = []
self.nameserver_ports = None
self.port = None
self.search = None
@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.
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']
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