(self, pad)
| 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 |
| 322 | example. IN AXFR |
| 323 | """ |
| 324 | tm1 = """id 1 |
| 325 | flags QR |
| 326 | ;QUESTION |
| 327 | example. IN AXFR |
| 328 | ;ANSWER |
| 329 | example. 300 IN SOA . . 1 2 3 4 5 |
| 330 | example. 300 IN NS ns1.tld. |
| 331 | example. 300 IN NS ns2.tld. |
| 332 | """ |
| 333 | tm2 = """id 1 |
| 334 | flags QR |
| 335 | ;ANSWER |
| 336 | example. 300 IN MX 10 mail.tld. |
| 337 | example. 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) |
no test coverage detected