def test_TTL_bounds_check(self):
def bad():
dns.ttl.from_text("2147483648")
- self.failUnlessRaises(dns.ttl.BadTTL, bad)
+ self.assertRaises(dns.ttl.BadTTL, bad)
def test_empty_NSEC3_window(self):
rdata = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.NSEC3,
def bad(): # type: () -> None
dns.dnssec.validate(abs_other_soa, abs_soa_rrsig, abs_keys, None,
when)
- self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ self.assertRaises(dns.dnssec.ValidationFailure, bad)
def testRelativeRSAGood(self): # type: () -> None
dns.dnssec.validate(rel_soa, rel_soa_rrsig, rel_keys,
def bad(): # type: () -> None
dns.dnssec.validate(rel_other_soa, rel_soa_rrsig, rel_keys,
abs_dnspython_org, when)
- self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ self.assertRaises(dns.dnssec.ValidationFailure, bad)
def testAbsoluteDSAGood(self): # type: () -> None
dns.dnssec.validate(abs_dsa_soa, abs_dsa_soa_rrsig, abs_dsa_keys, None,
def bad(): # type: () -> None
dns.dnssec.validate(abs_other_dsa_soa, abs_dsa_soa_rrsig,
abs_dsa_keys, None, when2)
- self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ self.assertRaises(dns.dnssec.ValidationFailure, bad)
@unittest.skipUnless(dns.dnssec._have_ecdsa,
"python ECDSA cannot be imported")
def bad(): # type: () -> None
dns.dnssec.validate(abs_other_ecdsa256_soa, abs_ecdsa256_soa_rrsig,
abs_ecdsa256_keys, None, when3)
- self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ self.assertRaises(dns.dnssec.ValidationFailure, bad)
@unittest.skipUnless(dns.dnssec._have_ecdsa,
"python ECDSA cannot be imported")
def bad(): # type: () -> None
dns.dnssec.validate(abs_other_ecdsa384_soa, abs_ecdsa384_soa_rrsig,
abs_ecdsa384_keys, None, when4)
- self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ self.assertRaises(dns.dnssec.ValidationFailure, bad)
class DNSSECMakeDSTestCase(unittest.TestCase):
def test_rcode8(self):
def bad():
dns.rcode.to_flags(4096)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_flags1(self):
self.assertTrue(dns.flags.from_text("RA RD AA QR") == \
def testFromText(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(example_text, 'example.', relativize=True)
- self.failUnlessRaises(dns.zone.NoSOA, bad)
+ self.assertRaises(dns.zone.NoSOA, bad)
def testFromText1(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(example_text1, 'example.', relativize=True)
- self.failUnlessRaises(dns.zone.NoSOA, bad)
+ self.assertRaises(dns.zone.NoSOA, bad)
def testIterateAllRdatas2(self): # type: () -> None
z = dns.zone.from_text(example_text2, 'example.', relativize=True)
'10.0.0.%d' % i)
q.additional.append(rrset)
q.to_wire(max_size=512)
- self.failUnlessRaises(dns.exception.TooBig, bad)
+ self.assertRaises(dns.exception.TooBig, bad)
def test_answer1(self):
a = dns.message.from_text(answer_text)
def bad():
badwire = goodwire + b'\x00'
dns.message.from_wire(badwire)
- self.failUnlessRaises(dns.message.TrailingJunk, bad)
+ self.assertRaises(dns.message.TrailingJunk, bad)
def test_ShortHeader(self):
def bad():
badwire = b'\x00' * 11
dns.message.from_wire(badwire)
- self.failUnlessRaises(dns.message.ShortHeader, bad)
+ self.assertRaises(dns.message.ShortHeader, bad)
def test_RespondingToResponse(self):
def bad():
q = dns.message.make_query('foo', 'A')
r1 = dns.message.make_response(q)
dns.message.make_response(r1)
- self.failUnlessRaises(dns.exception.FormError, bad)
+ self.assertRaises(dns.exception.FormError, bad)
def test_ExtendedRcodeSetting(self):
m = dns.message.make_query('foo', 'A')
a.flags |= dns.flags.TC
wire = a.to_wire(want_shuffle=False)
dns.message.from_wire(wire)
- self.failUnlessRaises(dns.message.Truncated, bad)
+ self.assertRaises(dns.message.Truncated, bad)
def test_MessyTruncated(self):
def bad():
a.flags |= dns.flags.TC
wire = a.to_wire(want_shuffle=False)
dns.message.from_wire(wire[:-3])
- self.failUnlessRaises(dns.message.Truncated, bad)
+ self.assertRaises(dns.message.Truncated, bad)
if __name__ == '__main__':
unittest.main()
def testImmutable1(self):
def bad():
self.origin.labels = ()
- self.failUnlessRaises(TypeError, bad)
+ self.assertRaises(TypeError, bad)
def testImmutable2(self):
def bad():
self.origin.labels[0] = 'foo'
- self.failUnlessRaises(TypeError, bad)
+ self.assertRaises(TypeError, bad)
def testAbs1(self):
self.assertTrue(dns.name.root.is_absolute())
def testEmptyLabel1(self):
def bad():
dns.name.Name(['a', '', 'b'])
- self.failUnlessRaises(dns.name.EmptyLabel, bad)
+ self.assertRaises(dns.name.EmptyLabel, bad)
def testEmptyLabel2(self):
def bad():
dns.name.Name(['', 'b'])
- self.failUnlessRaises(dns.name.EmptyLabel, bad)
+ self.assertRaises(dns.name.EmptyLabel, bad)
def testEmptyLabel3(self):
n = dns.name.Name(['b', ''])
def testLabelTooLong(self):
def bad():
dns.name.Name(['a' * 64, 'b'])
- self.failUnlessRaises(dns.name.LabelTooLong, bad)
+ self.assertRaises(dns.name.LabelTooLong, bad)
def testLongName(self):
n = dns.name.Name(['a' * 63, 'a' * 63, 'a' * 63, 'a' * 62])
def testNameTooLong(self):
def bad():
dns.name.Name(['a' * 63, 'a' * 63, 'a' * 63, 'a' * 63])
- self.failUnlessRaises(dns.name.NameTooLong, bad)
+ self.assertRaises(dns.name.NameTooLong, bad)
def testConcat1(self):
n1 = dns.name.Name(['a', 'b'])
n1 = dns.name.Name(['a', 'b', ''])
n2 = dns.name.Name(['c'])
return n1 + n2
- self.failUnlessRaises(dns.name.AbsoluteConcatenation, bad)
+ self.assertRaises(dns.name.AbsoluteConcatenation, bad)
def testBadEscape(self):
def bad():
n = dns.name.from_text(r'a.b\0q1.c.')
print(n)
- self.failUnlessRaises(dns.name.BadEscape, bad)
+ self.assertRaises(dns.name.BadEscape, bad)
def testDigestable1(self):
n = dns.name.from_text('FOO.bar')
def bad():
n = dns.name.from_text('FOO.bar', None)
n.to_digestable()
- self.failUnlessRaises(dns.name.NeedAbsoluteNameOrOrigin, bad)
+ self.assertRaises(dns.name.NeedAbsoluteNameOrOrigin, bad)
def testToWire1(self):
n = dns.name.from_text('FOO.bar')
f = BytesIO()
compress = {} # type: Dict[dns.name.Name,int]
n.to_wire(f, compress)
- self.failUnlessRaises(dns.name.NeedAbsoluteNameOrOrigin, bad)
+ self.assertRaises(dns.name.NeedAbsoluteNameOrOrigin, bad)
def testSplit1(self):
n = dns.name.from_text('foo.bar.')
def bad():
n = dns.name.from_text('foo.bar.')
n.split(-1)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def testBadSplit2(self):
def bad():
n = dns.name.from_text('foo.bar.')
n.split(4)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def testRelativize1(self):
n = dns.name.from_text('a.foo.bar.', None)
def bad():
w = b'\x03foo\xc0\x04'
dns.name.from_wire(w, 0)
- self.failUnlessRaises(dns.name.BadPointer, bad)
+ self.assertRaises(dns.name.BadPointer, bad)
def testBadFromWire2(self):
def bad():
w = b'\x03foo\xc0\x05'
dns.name.from_wire(w, 0)
- self.failUnlessRaises(dns.name.BadPointer, bad)
+ self.assertRaises(dns.name.BadPointer, bad)
def testBadFromWire3(self):
def bad():
w = b'\xbffoo'
dns.name.from_wire(w, 0)
- self.failUnlessRaises(dns.name.BadLabelType, bad)
+ self.assertRaises(dns.name.BadLabelType, bad)
def testBadFromWire4(self):
def bad():
w = b'\x41foo'
dns.name.from_wire(w, 0)
- self.failUnlessRaises(dns.name.BadLabelType, bad)
+ self.assertRaises(dns.name.BadLabelType, bad)
def testParent1(self):
n = dns.name.from_text('foo.bar.')
def bad():
n = dns.name.root
n.parent()
- self.failUnlessRaises(dns.name.NoParent, bad)
+ self.assertRaises(dns.name.NoParent, bad)
def testParent4(self):
def bad():
n = dns.name.empty
n.parent()
- self.failUnlessRaises(dns.name.NoParent, bad)
+ self.assertRaises(dns.name.NoParent, bad)
def testFromUnicode1(self):
n = dns.name.from_text('foo.bar')
def bad():
codec = dns.name.IDNA_2008_Strict
return dns.name.from_unicode(t, idna_codec=codec)
- self.failUnlessRaises(dns.name.IDNAException, bad)
+ self.assertRaises(dns.name.IDNAException, bad)
e1 = dns.name.from_unicode(t, idna_codec=dns.name.IDNA_2008)
self.assertEqual(str(e1), 'xn--knigsgchen-b4a3dun.')
c2 = dns.name.IDNA_2008_Transitional
def bad3():
codec = dns.name.IDNA_2008_Transitional
return dns.name.from_unicode(t, idna_codec=codec)
- self.failUnlessRaises(dns.name.IDNAException, bad1)
- self.failUnlessRaises(dns.name.IDNAException, bad2)
- self.failUnlessRaises(dns.name.IDNAException, bad3)
+ self.assertRaises(dns.name.IDNAException, bad1)
+ self.assertRaises(dns.name.IDNAException, bad2)
+ self.assertRaises(dns.name.IDNAException, bad3)
e = dns.name.from_unicode(t,
idna_codec=dns.name.IDNA_2008_Practical)
self.assertEqual(str(e), '_sip._tcp.xn--knigsgchen-b4a3dun.')
def bad():
# This throws in IDNA2003 because it doesn't "round trip".
n.to_unicode(idna_codec=dns.name.IDNA_2003_Strict)
- self.failUnlessRaises(dns.name.IDNAException, bad)
+ self.assertRaises(dns.name.IDNAException, bad)
def testReverseIPv4(self):
e = dns.name.from_text('1.0.0.127.in-addr.arpa.')
def testBadReverseIPv4(self):
def bad():
dns.reversename.from_address('127.0.foo.1')
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testBadReverseIPv6(self):
def bad():
dns.reversename.from_address('::1::1')
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testForwardIPv4(self):
n = dns.name.from_text('1.0.0.127.in-addr.arpa.')
def bad():
n = dns.name.from_text('a.b.c.')
self.ndict.get_deepest_match(n)
- self.failUnlessRaises(KeyError, bad)
+ self.assertRaises(KeyError, bad)
def testLookup6(self):
def bad():
self.ndict.get_deepest_match(dns.name.empty)
- self.failUnlessRaises(KeyError, bad)
+ self.assertRaises(KeyError, bad)
def testLookup7(self):
self.ndict[dns.name.empty] = 100
def testLookup8(self):
def bad():
self.ndict['foo'] = 100
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def testRelDepth(self):
self.assertTrue(self.rndict.max_depth == 2)
def test_bad_aton1(self):
def bad():
aton6('abcd:dcba')
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def test_bad_aton2(self):
def bad():
aton6('abcd::dcba::1')
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def test_bad_aton3(self):
def bad():
aton6('1:2:3:4:5:6:7:8:9')
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def test_aton6(self):
a = aton6('::')
def test_bad_ntoa1(self):
def bad():
ntoa6('')
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_bad_ntoa2(self):
def bad():
ntoa6('\x00' * 17)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_good_v4_aton(self):
pairs = [('1.2.3.4', b'\x01\x02\x03\x04'),
return bad
for addr in v4_bad_addrs:
print(addr)
- self.failUnlessRaises(dns.exception.SyntaxError, make_bad(addr))
+ self.assertRaises(dns.exception.SyntaxError, make_bad(addr))
def test_bad_v6_aton(self):
addrs = ['+::0', '0::0::', '::0::', '1:2:3:4:5:6:7:8:9',
x = aton6(a)
return bad
for addr in addrs:
- self.failUnlessRaises(dns.exception.SyntaxError, make_bad(addr))
+ self.assertRaises(dns.exception.SyntaxError, make_bad(addr))
def test_rfc5952_section_4_2_2(self):
addr = '2001:db8:0:1:1:1:1:1'
def bad():
TTXTTWO = dns.rdatatype.TXT
dns.rdata.register_type(tests.ttxt_module, TTXTTWO, 'TTXTTWO')
- self.failUnlessRaises(dns.rdata.RdatatypeExists, bad)
+ self.assertRaises(dns.rdata.RdatatypeExists, bad)
if __name__ == '__main__':
unittest.main()
def test_class_bytext_bounds2(self):
def bad():
dns.rdataclass.from_text('CLASS65536')
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_class_bytext_unknown(self):
def bad():
dns.rdataclass.from_text('XXX')
- self.failUnlessRaises(dns.rdataclass.UnknownRdataclass, bad)
+ self.assertRaises(dns.rdataclass.UnknownRdataclass, bad)
def test_class_totext1(self):
self.assertTrue(dns.rdataclass.to_text(dns.rdataclass.IN) == 'IN')
def test_class_totext_bounds1(self):
def bad():
dns.rdataclass.to_text(-1)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_class_totext_bounds2(self):
def bad():
dns.rdataclass.to_text(65536)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
# Types
def test_type_bytext_bounds2(self):
def bad():
dns.rdatatype.from_text('TYPE65536')
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_type_bytext_unknown(self):
def bad():
dns.rdatatype.from_text('XXX')
- self.failUnlessRaises(dns.rdatatype.UnknownRdatatype, bad)
+ self.assertRaises(dns.rdatatype.UnknownRdatatype, bad)
def test_type_totext1(self):
self.assertTrue(dns.rdatatype.to_text(dns.rdatatype.A) == 'A')
def test_type_totext_bounds1(self):
def bad():
dns.rdatatype.to_text(-1)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_type_totext_bounds2(self):
def bad():
dns.rdatatype.to_text(65536)
- self.failUnlessRaises(ValueError, bad)
+ self.assertRaises(ValueError, bad)
def test_type0_totext(self):
self.assertTrue(dns.rdatatype.to_text(0) == 'TYPE0')
def testFlagsUnknownToFlags(self): # type: () -> None
'''Test that conversion from undefined mnemonic raises error.'''
- self.failUnlessRaises(NotImplementedError,
+ self.assertRaises(NotImplementedError,
dns.rdtypes.ANY.DNSKEY.flags_from_text_set,
(['0x8000']))
dns.rdataclass.IN, message,
False)
return answer[0]
- self.failUnlessRaises(IndexError, bad)
+ self.assertRaises(IndexError, bad)
def testIndexErrorOnEmptyRRsetDelete(self):
def bad():
dns.rdataclass.IN, message,
False)
del answer[0]
- self.failUnlessRaises(IndexError, bad)
+ self.assertRaises(IndexError, bad)
@unittest.skipIf(not _network_available, "Internet not reachable")
def testZoneForName1(self):
def bad():
name = dns.name.from_text('dnspython.org', None)
dns.resolver.zone_for_name(name)
- self.failUnlessRaises(dns.resolver.NotAbsolute, bad)
+ self.assertRaises(dns.resolver.NotAbsolute, bad)
def testLRUReplace(self):
cache = dns.resolver.LRUCache(4)
def bad():
tok = dns.tokenizer.Tokenizer(r'"foo')
tok.get()
- self.failUnlessRaises(dns.exception.UnexpectedEnd, bad)
+ self.assertRaises(dns.exception.UnexpectedEnd, bad)
def testQuotedString6(self):
def bad():
tok = dns.tokenizer.Tokenizer(r'"foo\01')
tok.get()
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testQuotedString7(self):
def bad():
tok = dns.tokenizer.Tokenizer('"foo\nbar"')
tok.get()
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testEmpty1(self):
tok = dns.tokenizer.Tokenizer('')
def bad():
tok = dns.tokenizer.Tokenizer('foo)')
list(iter(tok))
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testMultiline4(self):
def bad():
tok = dns.tokenizer.Tokenizer('((foo)')
list(iter(tok))
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testUnget1(self):
tok = dns.tokenizer.Tokenizer('foo')
t1 = tok.get()
tok.unget(t1)
tok.unget(t1)
- self.failUnlessRaises(dns.tokenizer.UngetBufferFull, bad)
+ self.assertRaises(dns.tokenizer.UngetBufferFull, bad)
def testGetEOL1(self):
tok = dns.tokenizer.Tokenizer('\n')
def bad(): # type: () -> None
z = dns.zone.from_text(example_text, 'example.', relativize=True)
z.find_rdataset('@', 'loc')
- self.failUnlessRaises(KeyError, bad)
+ self.assertRaises(KeyError, bad)
def testFindRRset1(self): # type: () -> None
z = dns.zone.from_text(example_text, 'example.', relativize=True)
def bad(): # type: () -> None
z = dns.zone.from_text(example_text, 'example.', relativize=True)
z.find_rrset('@', 'loc')
- self.failUnlessRaises(KeyError, bad)
+ self.assertRaises(KeyError, bad)
def testGetRdataset1(self): # type: () -> None
z = dns.zone.from_text(example_text, 'example.', relativize=True)
z = dns.zone.from_text(example_text, 'example.', relativize=True)
node = z['@']
node.find_rdataset(dns.rdataclass.IN, dns.rdatatype.LOC)
- self.failUnlessRaises(KeyError, bad)
+ self.assertRaises(KeyError, bad)
def testNodeGetRdataset1(self): # type: () -> None
z = dns.zone.from_text(example_text, 'example.', relativize=True)
def testNoTTL(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(no_ttl_text, 'example.', check_origin=False)
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testNoSOA(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(no_soa_text, 'example.', relativize=True)
- self.failUnlessRaises(dns.zone.NoSOA, bad)
+ self.assertRaises(dns.zone.NoSOA, bad)
def testNoNS(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(no_ns_text, 'example.', relativize=True)
- self.failUnlessRaises(dns.zone.NoNS, bad)
+ self.assertRaises(dns.zone.NoNS, bad)
def testInclude(self): # type: () -> None
z1 = dns.zone.from_text(include_text, 'example.', relativize=True,
def testBadDirective(self): # type: () -> None
def bad(): # type: () -> None
dns.zone.from_text(bad_directive_text, 'example.', relativize=True)
- self.failUnlessRaises(dns.exception.SyntaxError, bad)
+ self.assertRaises(dns.exception.SyntaxError, bad)
def testFirstRRStartsWithWhitespace(self): # type: () -> None
# no name is specified, so default to the initial origin
def bad1(): # type: () -> None
o = dns.name.from_text('example', None)
dns.zone.Zone(o)
- self.failUnlessRaises(ValueError, bad1)
+ self.assertRaises(ValueError, bad1)
def bad2(): # type: () -> None
dns.zone.Zone(cast(str, 1.0))
- self.failUnlessRaises(ValueError, bad2)
+ self.assertRaises(ValueError, bad2)
def testZoneOriginNone(self): # type: () -> None
dns.zone.Zone(cast(str, None))