pass
def __str__(self):
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def kind(self) -> str:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def is_always_max_size(self) -> bool:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def answer_nameserver(self) -> str:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def answer_port(self) -> int:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def query(
self,
one_rr_per_rrset: bool = False,
ignore_trailing: bool = False,
) -> dns.message.Message:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
async def async_query(
self,
one_rr_per_rrset: bool = False,
ignore_trailing: bool = False,
) -> dns.message.Message:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
class AddressAndPortNameserver(Nameserver):
self.port = port
def kind(self) -> str:
- raise NotImplementedError
+ raise NotImplementedError # pragma: no cover
def is_always_max_size(self) -> bool:
return False
return s.getvalue()[:-1]
def __repr__(self):
- return "<DNS node " + str(id(self)) + ">"
+ return "<DNS node " + str(id(self)) + ">" # pragma: no cover
def __eq__(self, other):
#
return True
def __ne__(self, other):
- return not self.__eq__(other)
+ return not self.__eq__(other) # pragma: no cover
def __len__(self):
return len(self.rdatasets)
"""
if not isinstance(replacement, dns.rdataset.Rdataset):
- raise ValueError("replacement is not an rdataset")
+ raise ValueError("replacement is not an rdataset") # pragma: no cover
if isinstance(replacement, dns.rrset.RRset):
# RRsets are not good replacements as the match() method
# is not compatible.
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license
+import io
import unittest
import dns.exception
import dns.wire
import dns.name
+import dns._render_util
class BinaryTestCase(unittest.TestCase):
with self.assertRaises(NotImplementedError):
with p.restrict_to(5):
raise NotImplementedError
+
+ def test_prefixed_length(self):
+ out = io.BytesIO()
+ with dns._render_util.prefixed_length(out, 1):
+ out.write(b"hello")
+ value = out.getvalue()
+ self.assertEqual(value, b"\x05hello")
+
+ def test_prefixed_length_overflow(self):
+ out = io.BytesIO()
+ with self.assertRaises(dns.exception.FormError):
+ with dns._render_util.prefixed_length(out, 1):
+ out.write(b"x" * 256)
with self.assertRaises(KeyError):
z.replace_rdataset(too_long_relative, rds)
+ def testImmutableNodes(self):
+ z = dns.zone.from_text(example_text, "example.", relativize=True)
+ node = dns.node.ImmutableNode(z.find_node("@"))
+ self.assertTrue(node.is_immutable)
+ with self.assertRaises(TypeError):
+ node.find_rdataset(dns.rdataclass.IN, dns.rdatatype.RP, create=True)
+ node.find_rdataset(dns.rdataclass.IN, dns.rdatatype.SOA)
+ with self.assertRaises(TypeError):
+ node.get_rdataset(dns.rdataclass.IN, dns.rdatatype.RP, create=True)
+ node.get_rdataset(dns.rdataclass.IN, dns.rdatatype.SOA)
+ with self.assertRaises(TypeError):
+ node.delete_rdataset(dns.rdataclass.IN, dns.rdatatype.SOA)
+ with self.assertRaises(TypeError):
+ node.replace_rdataset(None)
+
class VersionedZoneTestCase(unittest.TestCase):
zone_factory = dns.versioned.Zone