MCPcopy Create free account
hub / github.com/rthalley/dnspython / _test_multi

Method _test_multi

tests/test_tsig.py:319–362  ·  view source on GitHub ↗
(self, pad)

Source from the content-addressed store, hash-verified

317 self.assertEqual(repr(key), "<DNS key name='foo.', algorithm='gss-tsig.'>")
318
319 def _test_multi(self, pad):
320 tm0 = """id 1
321;QUESTION
322example. IN AXFR
323"""
324 tm1 = """id 1
325flags QR
326;QUESTION
327example. IN AXFR
328;ANSWER
329example. 300 IN SOA . . 1 2 3 4 5
330example. 300 IN NS ns1.tld.
331example. 300 IN NS ns2.tld.
332"""
333 tm2 = """id 1
334flags QR
335;ANSWER
336example. 300 IN MX 10 mail.tld.
337example. 300 IN SOA . . 1 2 3 4 5
338"""
339 m0 = dns.message.from_text(tm0)
340 m0.use_edns(0, pad=pad)
341 m0.use_tsig(keyring)
342 w0 = m0.to_wire()
343 m1 = dns.message.from_text(tm1)
344 m1.use_edns(0, pad=pad)
345 m1.use_tsig(keyring)
346 m1.request_mac = m0.mac
347 w1 = m1.to_wire(multi=True)
348 if pad != 0:
349 self.assertEqual(len(w1) % pad, 0)
350 m2 = dns.message.from_text(tm2)
351 m2.use_edns(0, pad=pad)
352 m2.use_tsig(keyring)
353 w2 = m2.to_wire(multi=True, tsig_ctx=m1.tsig_ctx)
354 if pad != 0:
355 self.assertEqual(len(w2) % pad, 0)
356 m3 = dns.message.from_wire(w1, keyring=keyring, request_mac=m0.mac, multi=True)
357 m4 = dns.message.from_wire(
358 w2, keyring=keyring, multi=True, tsig_ctx=m3.tsig_ctx
359 )
360 # Not raising means we passed validation
361 self.assertEqual(m1, m3)
362 self.assertEqual(m2, m4)
363
364 def test_multi(self):
365 self._test_multi(0)

Callers 2

test_multiMethod · 0.95
test_multi_with_padMethod · 0.95

Calls 4

from_textMethod · 0.45
use_ednsMethod · 0.45
use_tsigMethod · 0.45
to_wireMethod · 0.45

Tested by

no test coverage detected