]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.recursor-dnssec/test_Sortlist.py
2 from recursortests
import RecursorTest
5 class testSortlist(RecursorTest
):
8 _config_template
= """dnssec=off"""
9 _lua_config_file
= """addSortList("0.0.0.0/0",
10 {"17.238.240.0/24", "17.138.149.200",
11 {"17.218.242.254", "17.218.252.254"},
13 "17.208.240.100" })"""
15 def testSortlist(self
):
16 msg
= dns
.message
.make_query("sortcname.example.", dns
.rdatatype
.ANY
)
17 msg
.flags
= dns
.flags
.from_text('RD')
19 res
= self
.sendUDPQuery(msg
, fwparams
=dict(one_rr_per_rrset
=True))
21 self
.assertMessageHasFlags(res
, ['QR', 'RA', 'RD'], [])
22 self
.assertRcodeEqual(res
, dns
.rcode
.NOERROR
)
28 for i
, ans
in enumerate(res
.answer
):
29 if ans
.rdtype
== dns
.rdatatype
.CNAME
:
30 self
.assertEqual(indexCNAME
, -1)
32 elif ans
.rdtype
== dns
.rdatatype
.MX
:
33 self
.assertEqual(indexMX
, -1)
35 elif ans
.rdtype
== dns
.rdatatype
.A
:
36 recordsA
.append(str(ans
).split()[-1])
38 self
.assertEqual(indexCNAME
, 0)
39 self
.assertGreater(indexMX
, 0)
41 self
.assertEqual(recordsA
, ['17.238.240.5', '17.38.42.80', '192.168.0.1'])