]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.dnsdist/test_TLS.py
Merge pull request #5770 from rgacogne/remote-logger-first-packet
[thirdparty/pdns.git] / regression-tests.dnsdist / test_TLS.py
1 #!/usr/bin/env python
2 import dns
3 from dnsdisttests import DNSDistTest
4
5 class TestTLS(DNSDistTest):
6
7 _serverKey = 'server.key'
8 _serverCert = 'server.chain'
9 _serverName = 'tls.tests.dnsdist.org'
10 _caCert = 'ca.pem'
11 _tlsServerPort = 8453
12 _config_template = """
13 newServer{address="127.0.0.1:%s"}
14 addTLSLocal("127.0.0.1:%s", "%s", "%s")
15 """
16 _config_params = ['_testServerPort', '_tlsServerPort', '_serverCert', '_serverKey']
17
18 def testTLSSimple(self):
19 """
20 TLS: Single query
21 """
22 name = 'single.tls.tests.powerdns.com.'
23 query = dns.message.make_query(name, 'A', 'IN', use_edns=False)
24 response = dns.message.make_response(query)
25 rrset = dns.rrset.from_text(name,
26 3600,
27 dns.rdataclass.IN,
28 dns.rdatatype.A,
29 '127.0.0.1')
30 response.answer.append(rrset)
31
32 conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert)
33
34 self.sendTCPQueryOverConnection(conn, query, response=response)
35 (receivedQuery, receivedResponse) = self.recvTCPResponseOverConnection(conn, useQueue=True)
36 self.assertTrue(receivedQuery)
37 self.assertTrue(receivedResponse)
38 receivedQuery.id = query.id
39 self.assertEquals(query, receivedQuery)
40 self.assertEquals(response, receivedResponse)