diff options
| author | Brian Wellington <bwelling@xbill.org> | 2020-06-29 14:55:35 -0700 |
|---|---|---|
| committer | Brian Wellington <bwelling@xbill.org> | 2020-06-30 08:33:19 -0700 |
| commit | b6671fe2367507a29a55d0b4255325b73fffe6be (patch) | |
| tree | 14e20b691d356986c5703c0868ae824983297458 /tests | |
| parent | 8c6ba9e62fce0b7acaa1995f57b36908f9277684 (diff) | |
| download | dnspython-b6671fe2367507a29a55d0b4255325b73fffe6be.tar.gz | |
Store a TSIG rrset on the message object.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_renderer.py | 19 | ||||
| -rw-r--r-- | tests/test_tsig.py | 8 |
2 files changed, 21 insertions, 6 deletions
diff --git a/tests/test_renderer.py b/tests/test_renderer.py index 345ef82..db9d0f3 100644 --- a/tests/test_renderer.py +++ b/tests/test_renderer.py @@ -3,9 +3,11 @@ import unittest import dns.exception +import dns.flags import dns.message import dns.renderer -import dns.flags +import dns.tsig +import dns.tsigkeyring basic_answer = \ """flags QR @@ -35,6 +37,21 @@ class RendererTestCase(unittest.TestCase): expected.id = message.id self.assertEqual(message, expected) + def test_tsig(self): + r = dns.renderer.Renderer(flags=dns.flags.RD, max_size=512) + qname = dns.name.from_text('foo.example') + r.add_question(qname, dns.rdatatype.A) + keyring = dns.tsigkeyring.from_text({'key' : '12345678'}) + keyname = next(iter(keyring)) + r.write_header() + r.add_tsig(keyname, keyring[keyname], 300, r.id, 0, b'', b'', + dns.tsig.HMAC_SHA256) + wire = r.get_wire() + message = dns.message.from_wire(wire, keyring=keyring) + expected = dns.message.make_query(qname, dns.rdatatype.A) + expected.id = message.id + self.assertEqual(message, expected) + def test_going_backwards_fails(self): r = dns.renderer.Renderer(flags=dns.flags.QR, max_size=512) qname = dns.name.from_text('foo.example') diff --git a/tests/test_tsig.py b/tests/test_tsig.py index 037d5aa..2722e15 100644 --- a/tests/test_tsig.py +++ b/tests/test_tsig.py @@ -42,12 +42,11 @@ class TSIGTestCase(unittest.TestCase): # not raising is passing dns.message.from_wire(w, keyring) - def make_message_pair(self, qname='example', rdtype='A'): + def make_message_pair(self, qname='example', rdtype='A', tsig_error=0): q = dns.message.make_query(qname, rdtype) q.use_tsig(keyring=keyring, keyname=keyname) - q.had_tsig = True # so make_response() does the right thing q.to_wire() # to set q.mac - r = dns.message.make_response(q) + r = dns.message.make_response(q, tsig_error=tsig_error) return(q, r) def test_peer_errors(self): @@ -58,8 +57,7 @@ class TSIGTestCase(unittest.TestCase): (99, dns.tsig.PeerError), ] for err, ex in items: - q, r = self.make_message_pair() - r.tsig_error = err + q, r = self.make_message_pair(tsig_error=err) w = r.to_wire() def bad(): dns.message.from_wire(w, keyring=keyring, request_mac=q.mac) |
