]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.dnsdist/test_Trailing.py
4 from dnsdisttests
import DNSDistTest
6 class TestTrailing(DNSDistTest
):
8 # this test suite uses a different responder port
9 # because, contrary to the other ones, its
10 # responders allow trailing data and we don't want
12 _testServerPort
= 5360
13 _config_template
= """
14 newServer{address="127.0.0.1:%s"}
15 addAction(AndRule({QTypeRule(dnsdist.AAAA), TrailingDataRule()}), DropAction())
18 def startResponders(cls
):
19 print("Launching responders..")
21 cls
._UDPResponder
= threading
.Thread(name
='UDP Responder', target
=cls
.UDPResponder
, args
=[cls
._testServerPort
, True])
22 cls
._UDPResponder
.setDaemon(True)
23 cls
._UDPResponder
.start()
24 cls
._TCPResponder
= threading
.Thread(name
='TCP Responder', target
=cls
.TCPResponder
, args
=[cls
._testServerPort
, True])
25 cls
._TCPResponder
.setDaemon(True)
26 cls
._TCPResponder
.start()
28 def testTrailingAllowed(self
):
33 name
= 'allowed.trailing.tests.powerdns.com.'
34 query
= dns
.message
.make_query(name
, 'A', 'IN')
35 response
= dns
.message
.make_response(query
)
36 rrset
= dns
.rrset
.from_text(name
,
41 response
.answer
.append(rrset
)
45 (receivedQuery
, receivedResponse
) = self
.sendUDPQuery(raw
, response
, rawQuery
=True)
46 self
.assertTrue(receivedQuery
)
47 self
.assertTrue(receivedResponse
)
48 receivedQuery
.id = query
.id
49 self
.assertEquals(query
, receivedQuery
)
50 self
.assertEquals(response
, receivedResponse
)
52 (receivedQuery
, receivedResponse
) = self
.sendTCPQuery(raw
, response
, rawQuery
=True)
53 self
.assertTrue(receivedQuery
)
54 self
.assertTrue(receivedResponse
)
55 receivedQuery
.id = query
.id
56 self
.assertEquals(query
, receivedQuery
)
57 self
.assertEquals(response
, receivedResponse
)
59 def testTrailingDropped(self
):
64 name
= 'dropped.trailing.tests.powerdns.com.'
65 query
= dns
.message
.make_query(name
, 'AAAA', 'IN')
70 (_
, receivedResponse
) = self
.sendUDPQuery(raw
, response
=None, rawQuery
=True)
71 self
.assertEquals(receivedResponse
, None)
72 (_
, receivedResponse
) = self
.sendTCPQuery(raw
, response
=None, rawQuery
=True)
73 self
.assertEquals(receivedResponse
, None)