From 6ca2e7966f6cb9d2b12a597ef324a92b9cf6e0c8 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Tue, 19 Mar 2019 15:53:38 +0100 Subject: [PATCH] dnsdist: Remove code duplication between UDP and TCP in the tests --- regression-tests.dnsdist/test_Advanced.py | 701 +++++++----------- regression-tests.dnsdist/test_Basics.py | 202 ++--- regression-tests.dnsdist/test_Caching.py | 122 ++- regression-tests.dnsdist/test_EDNSOptions.py | 252 +++---- .../test_EDNSSelfGenerated.py | 252 +++---- .../test_EdnsClientSubnet.py | 505 +++++-------- regression-tests.dnsdist/test_RecordsCount.py | 159 ++-- regression-tests.dnsdist/test_Responses.py | 96 +-- regression-tests.dnsdist/test_Routing.py | 48 +- regression-tests.dnsdist/test_Spoofing.py | 132 ++-- regression-tests.dnsdist/test_Tags.py | 110 ++- regression-tests.dnsdist/test_Trailing.py | 22 - 12 files changed, 1029 insertions(+), 1572 deletions(-) diff --git a/regression-tests.dnsdist/test_Advanced.py b/regression-tests.dnsdist/test_Advanced.py index 192f937e9..78105512e 100644 --- a/regression-tests.dnsdist/test_Advanced.py +++ b/regression-tests.dnsdist/test_Advanced.py @@ -34,19 +34,14 @@ class TestAdvancedAllow(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedAllowDropped(self): """ @@ -56,11 +51,10 @@ class TestAdvancedAllow(DNSDistTest): """ name = 'notallowed.advanced.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) class TestAdvancedFixupCase(DNSDistTest): @@ -91,20 +85,14 @@ class TestAdvancedFixupCase(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(expectedResponse, receivedResponse) - + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(expectedResponse, receivedResponse) class TestAdvancedRemoveRD(DNSDistTest): @@ -133,19 +121,14 @@ class TestAdvancedRemoveRD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedKeepRD(self): """ @@ -165,20 +148,14 @@ class TestAdvancedRemoveRD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedAddCD(DNSDistTest): @@ -208,19 +185,14 @@ class TestAdvancedAddCD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedSetCDViaAction(self): """ @@ -242,19 +214,14 @@ class TestAdvancedAddCD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedKeepNoCD(self): """ @@ -274,19 +241,14 @@ class TestAdvancedAddCD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedClearRD(DNSDistTest): @@ -316,19 +278,14 @@ class TestAdvancedClearRD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedClearRDViaAction(self): """ @@ -350,19 +307,14 @@ class TestAdvancedClearRD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) def testAdvancedKeepRD(self): """ @@ -382,19 +334,14 @@ class TestAdvancedClearRD(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedACL(DNSDistTest): @@ -415,11 +362,10 @@ class TestAdvancedACL(DNSDistTest): name = 'tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, None) class TestAdvancedDelay(DNSDistTest): @@ -528,19 +474,14 @@ class TestAdvancedAndNot(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) def testAOverUDPReturnsNotImplemented(self): """ @@ -628,11 +569,10 @@ class TestAdvancedOr(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NOTIMP) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedLogAction(DNSDistTest): @@ -690,24 +630,19 @@ class TestAdvancedDNSSEC(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) - (_, receivedResponse) = self.sendUDPQuery(doquery, response) - self.assertEquals(receivedResponse, None) - (_, receivedResponse) = self.sendTCPQuery(doquery, response) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(doquery, response) + self.assertEquals(receivedResponse, None) class TestAdvancedQClass(DNSDistTest): @@ -723,10 +658,10 @@ class TestAdvancedQClass(DNSDistTest): name = 'qclasschaos.advanced.tests.powerdns.com.' query = dns.message.make_query(name, 'TXT', 'CHAOS') - (_, receivedResponse) = self.sendUDPQuery(query, response=None) - self.assertEquals(receivedResponse, None) - (_, receivedResponse) = self.sendTCPQuery(query, response=None) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None) + self.assertEquals(receivedResponse, None) def testAdvancedQClassINAllow(self): """ @@ -743,19 +678,14 @@ class TestAdvancedQClass(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedOpcode(DNSDistTest): @@ -772,10 +702,10 @@ class TestAdvancedOpcode(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') query.set_opcode(dns.opcode.NOTIFY) - (_, receivedResponse) = self.sendUDPQuery(query, response=None) - self.assertEquals(receivedResponse, None) - (_, receivedResponse) = self.sendTCPQuery(query, response=None) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None) + self.assertEquals(receivedResponse, None) def testAdvancedOpcodeUpdateINAllow(self): """ @@ -793,19 +723,14 @@ class TestAdvancedOpcode(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedNonTerminalRule(DNSDistTest): @@ -835,19 +760,14 @@ class TestAdvancedNonTerminalRule(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.assertEquals(expectedQuery, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.assertEquals(expectedQuery, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedStringOnlyServer(DNSDistTest): @@ -869,19 +789,14 @@ class TestAdvancedStringOnlyServer(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestAdvancedRestoreFlagsOnSelfResponse(DNSDistTest): @@ -912,13 +827,11 @@ class TestAdvancedRestoreFlagsOnSelfResponse(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(response, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(response, receivedResponse) class TestAdvancedQPS(DNSDistTest): @@ -989,11 +902,10 @@ class TestAdvancedQPSNone(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedNMGRule(DNSDistTest): @@ -1016,11 +928,10 @@ class TestAdvancedNMGRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestDSTPortRule(DNSDistTest): @@ -1043,11 +954,10 @@ class TestDSTPortRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedLabelsCountRule(DNSDistTest): @@ -1071,19 +981,14 @@ class TestAdvancedLabelsCountRule(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) # more than 6 labels, the query should be refused name = 'not.ok.labelscount.advanced.tests.powerdns.com.' @@ -1091,11 +996,10 @@ class TestAdvancedLabelsCountRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) # less than 5 labels, the query should be refused name = 'labelscountadvanced.tests.powerdns.com.' @@ -1103,11 +1007,10 @@ class TestAdvancedLabelsCountRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedWireLengthRule(DNSDistTest): @@ -1130,19 +1033,14 @@ class TestAdvancedWireLengthRule(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) # too short, the query should be refused name = 'short.qnamewirelength.advanced.tests.powerdns.com.' @@ -1150,11 +1048,10 @@ class TestAdvancedWireLengthRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) # too long, the query should be refused name = 'toolongtobevalid.qnamewirelength.advanced.tests.powerdns.com.' @@ -1162,11 +1059,10 @@ class TestAdvancedWireLengthRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedIncludeDir(DNSDistTest): @@ -1190,19 +1086,14 @@ class TestAdvancedIncludeDir(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) # this one should be refused name = 'notincludedir.advanced.tests.powerdns.com.' @@ -1210,11 +1101,10 @@ class TestAdvancedIncludeDir(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestAdvancedLuaDO(DNSDistTest): @@ -1247,30 +1137,22 @@ class TestAdvancedLuaDO(DNSDistTest): doResponse.set_rcode(dns.rcode.NXDOMAIN) # without DO - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) # with DO - (_, receivedResponse) = self.sendUDPQuery(queryWithDO, response=None, useQueue=False) - self.assertTrue(receivedResponse) - doResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, doResponse) - - (_, receivedResponse) = self.sendTCPQuery(queryWithDO, response=None, useQueue=False) - self.assertTrue(receivedResponse) - doResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, doResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(queryWithDO, response=None, useQueue=False) + self.assertTrue(receivedResponse) + doResponse.id = receivedResponse.id + self.assertEquals(receivedResponse, doResponse) class TestAdvancedLuaRefused(DNSDistTest): @@ -1298,15 +1180,12 @@ class TestAdvancedLuaRefused(DNSDistTest): refusedResponse = dns.message.make_response(query) refusedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - refusedResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, refusedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - refusedResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, refusedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + refusedResponse.id = receivedResponse.id + self.assertEquals(receivedResponse, refusedResponse) class TestAdvancedLuaActionReturnSyntax(DNSDistTest): @@ -1334,15 +1213,12 @@ class TestAdvancedLuaActionReturnSyntax(DNSDistTest): refusedResponse = dns.message.make_response(query) refusedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - refusedResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, refusedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - refusedResponse.id = receivedResponse.id - self.assertEquals(receivedResponse, refusedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + refusedResponse.id = receivedResponse.id + self.assertEquals(receivedResponse, refusedResponse) class TestAdvancedLuaTruncated(DNSDistTest): @@ -1488,11 +1364,10 @@ class TestAdvancedRD(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testAdvancedNoRDAllowed(self): """ @@ -1503,15 +1378,12 @@ class TestAdvancedRD(DNSDistTest): query.flags &= ~dns.flags.RD response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) class TestAdvancedGetLocalPort(DNSDistTest): @@ -1541,11 +1413,10 @@ class TestAdvancedGetLocalPort(DNSDistTest): 'port-was-{}.local-port.advanced.tests.powerdns.com.'.format(self._dnsDistPort)) response.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) class TestAdvancedGetLocalPortOnAnyBind(DNSDistTest): @@ -1576,11 +1447,10 @@ class TestAdvancedGetLocalPortOnAnyBind(DNSDistTest): 'port-was-{}.local-port-any.advanced.tests.powerdns.com.'.format(self._dnsDistPort)) response.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) class TestAdvancedGetLocalAddressOnAnyBind(DNSDistTest): @@ -1614,11 +1484,10 @@ class TestAdvancedGetLocalAddressOnAnyBind(DNSDistTest): 'address-was-127-0-0-1.local-address-any.advanced.tests.powerdns.com.') response.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) class TestAdvancedLuaTempFailureTTL(DNSDistTest): @@ -1655,12 +1524,14 @@ class TestAdvancedLuaTempFailureTTL(DNSDistTest): '::1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) class TestAdvancedEDNSOptionRule(DNSDistTest): @@ -1679,10 +1550,10 @@ class TestAdvancedEDNSOptionRule(DNSDistTest): ecso = clientsubnetoption.ClientSubnetOption('127.0.0.1', 24) query = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[ecso], payload=512) - (_, receivedResponse) = self.sendUDPQuery(query, response=None) - self.assertEquals(receivedResponse, None) - (_, receivedResponse) = self.sendTCPQuery(query, response=None) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None) + self.assertEquals(receivedResponse, None) def testReplied(self): """ @@ -1695,25 +1566,29 @@ class TestAdvancedEDNSOptionRule(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[], payload=512) response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) # and with no EDNS at all query = dns.message.make_query(name, 'A', 'IN', use_edns=False) response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) class TestAdvancedAllowHeaderOnly(DNSDistTest): diff --git a/regression-tests.dnsdist/test_Basics.py b/regression-tests.dnsdist/test_Basics.py index ea4b7b08b..4ecdb096e 100644 --- a/regression-tests.dnsdist/test_Basics.py +++ b/regression-tests.dnsdist/test_Basics.py @@ -30,11 +30,10 @@ class TestBasics(DNSDistTest): """ name = 'drop.test.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, None) def testAWithECS(self): """ @@ -52,15 +51,12 @@ class TestBasics(DNSDistTest): response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testSimpleA(self): """ @@ -76,19 +72,14 @@ class TestBasics(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testAnyIsTruncated(self): """ @@ -214,11 +205,10 @@ class TestBasics(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testQNameReturnsSpoofed(self): """ @@ -238,12 +228,10 @@ class TestBasics(DNSDistTest): '1.2.3.4') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testDomainAndQTypeReturnsNotImplemented(self): """ @@ -259,11 +247,10 @@ class TestBasics(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NOTIMP) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testDomainWithoutQTypeIsNotAffected(self): """ @@ -284,19 +271,14 @@ class TestBasics(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testOtherDomainANDQTypeIsNotAffected(self): """ @@ -317,19 +299,14 @@ class TestBasics(DNSDistTest): 'nothing to see here') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testWrongResponse(self): """ @@ -353,17 +330,13 @@ class TestBasics(DNSDistTest): 'nothing to see here') unrelatedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, unrelatedResponse) - self.assertTrue(receivedQuery) - self.assertEquals(receivedResponse, None) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, unrelatedResponse) - self.assertTrue(receivedQuery) - self.assertEquals(receivedResponse, None) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, unrelatedResponse) + self.assertTrue(receivedQuery) + self.assertEquals(receivedResponse, None) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) def testHeaderOnlyRefused(self): """ @@ -375,17 +348,13 @@ class TestBasics(DNSDistTest): response.set_rcode(dns.rcode.REFUSED) response.question = [] - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) def testHeaderOnlyNoErrorResponse(self): """ @@ -396,17 +365,13 @@ class TestBasics(DNSDistTest): response = dns.message.make_response(query) response.question = [] - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, None) def testHeaderOnlyNXDResponse(self): """ @@ -418,17 +383,13 @@ class TestBasics(DNSDistTest): response.set_rcode(dns.rcode.NXDOMAIN) response.question = [] - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, None) def testAddActionDNSName(self): """ @@ -439,8 +400,10 @@ class TestBasics(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testAddActionDNSNames(self): """ @@ -451,9 +414,8 @@ class TestBasics(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) -if __name__ == '__main__': - unittest.main() - exit(0) diff --git a/regression-tests.dnsdist/test_Caching.py b/regression-tests.dnsdist/test_Caching.py index dcc1749b1..aff1d2b6e 100644 --- a/regression-tests.dnsdist/test_Caching.py +++ b/regression-tests.dnsdist/test_Caching.py @@ -155,19 +155,14 @@ class TestCaching(DNSDistTest): response.answer.append(rrset) for _ in range(numberOfQueries): - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) for key in self._responsesCounter: value = self._responsesCounter[key] @@ -192,19 +187,14 @@ class TestCaching(DNSDistTest): response.answer.append(rrset) for _ in range(numberOfQueries): - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) for key in self._responsesCounter: value = self._responsesCounter[key] @@ -1730,38 +1720,30 @@ class TestCachingECSWithoutPoolECS(DNSDistTest): response.answer.append(rrset) # first query to fill the cache - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) # next queries should hit the cache - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - # over TCP too - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) # we mark the backend as down self.sendConsoleCommand("getServer(0):setDown()") # we should NOT get a cached entry since it has ECS and we haven't asked the pool # to add ECS when no backend is up - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) - - # same over TCP - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, None) class TestCachingECSWithPoolECS(DNSDistTest): @@ -1794,38 +1776,30 @@ class TestCachingECSWithPoolECS(DNSDistTest): response.answer.append(rrset) # first query to fill the cache - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, response) # next queries should hit the cache - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - # over TCP too - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) # we mark the backend as down self.sendConsoleCommand("getServer(0):setDown()") # we should STILL get a cached entry since it has ECS and we have asked the pool # to add ECS when no backend is up - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) - - # same over TCP - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, response) class TestCachingCollisionNoECSParsing(DNSDistTest): diff --git a/regression-tests.dnsdist/test_EDNSOptions.py b/regression-tests.dnsdist/test_EDNSOptions.py index c6c790413..8979fb182 100644 --- a/regression-tests.dnsdist/test_EDNSOptions.py +++ b/regression-tests.dnsdist/test_EDNSOptions.py @@ -86,19 +86,14 @@ class TestEDNSOptions(EDNSOptionsBase): '192.0.2.255') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) def testCookie(self): """ @@ -115,19 +110,14 @@ class TestEDNSOptions(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) def testECS4(self): """ @@ -144,19 +134,14 @@ class TestEDNSOptions(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) def testECS6(self): """ @@ -173,19 +158,14 @@ class TestEDNSOptions(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) def testECS6Cookie(self): """ @@ -203,19 +183,14 @@ class TestEDNSOptions(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) def testMultiCookiesECS6(self): """ @@ -234,19 +209,14 @@ class TestEDNSOptions(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) class TestEDNSOptionsAddingECS(EDNSOptionsBase): @@ -275,19 +245,14 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(response, receivedResponse) def testCookie(self): """ @@ -306,19 +271,14 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery, 1) - self.checkResponseEDNSWithoutECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery, 1) - self.checkResponseEDNSWithoutECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery, 1) + self.checkResponseEDNSWithoutECS(response, receivedResponse) def testECS4(self): """ @@ -337,19 +297,14 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryEDNSWithECS(query, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testECS6(self): """ @@ -368,19 +323,14 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryEDNSWithECS(query, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testECS6Cookie(self): """ @@ -400,19 +350,14 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery, 1) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery, 1) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryEDNSWithECS(query, receivedQuery, 1) + self.checkResponseEDNSWithECS(response, receivedResponse) def testMultiCookiesECS6(self): """ @@ -431,16 +376,11 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(receivedQuery, query) - self.assertEquals(receivedResponse, response) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(receivedQuery, query) + self.assertEquals(receivedResponse, response) diff --git a/regression-tests.dnsdist/test_EDNSSelfGenerated.py b/regression-tests.dnsdist/test_EDNSSelfGenerated.py index 770464131..73e162702 100644 --- a/regression-tests.dnsdist/test_EDNSSelfGenerated.py +++ b/regression-tests.dnsdist/test_EDNSSelfGenerated.py @@ -36,33 +36,30 @@ class TestEDNSSelfGenerated(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'no-edns.tc.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') expectedResponse = dns.message.make_response(query) expectedResponse.flags |= dns.flags.TC - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'no-edns.lua.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NXDOMAIN) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'no-edns.spoof.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') @@ -75,11 +72,10 @@ class TestEDNSSelfGenerated(DNSDistTest): dns.rdatatype.A, '192.0.2.1', '192.0.2.2')) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) def testWithEDNSNoDO(self): """ @@ -90,45 +86,36 @@ class TestEDNSSelfGenerated(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-no-do.tc.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) expectedResponse = dns.message.make_response(query) expectedResponse.flags |= dns.flags.TC - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-no-do.lua.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NXDOMAIN) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-no-do.spoof.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) @@ -141,15 +128,12 @@ class TestEDNSSelfGenerated(DNSDistTest): dns.rdatatype.A, '192.0.2.1', '192.0.2.2')) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertFalse(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) def testWithEDNSWithDO(self): """ @@ -160,45 +144,36 @@ class TestEDNSSelfGenerated(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-do.tc.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=True) expectedResponse = dns.message.make_response(query) expectedResponse.flags |= dns.flags.TC - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-do.lua.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=True) expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NXDOMAIN) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-do.spoof.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=True) @@ -211,15 +186,12 @@ class TestEDNSSelfGenerated(DNSDistTest): dns.rdatatype.A, '192.0.2.1', '192.0.2.2')) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) def testWithEDNSNoOptions(self): """ @@ -231,45 +203,36 @@ class TestEDNSSelfGenerated(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-options.tc.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[ecso], payload=512, want_dnssec=True) expectedResponse = dns.message.make_response(query) expectedResponse.flags |= dns.flags.TC - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-options.lua.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[ecso], payload=512, want_dnssec=True) expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NXDOMAIN) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) name = 'edns-options.spoof.edns-self.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[ecso], payload=512, want_dnssec=True) @@ -282,15 +245,12 @@ class TestEDNSSelfGenerated(DNSDistTest): dns.rdatatype.A, '192.0.2.1', '192.0.2.2')) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) - self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) - self.assertEquals(receivedResponse.payload, 1042) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageEDNSWithoutOptions(expectedResponse, receivedResponse) + self.assertTrue(receivedResponse.ednsflags & dns.flags.DO) + self.assertEquals(receivedResponse.payload, 1042) class TestEDNSSelfGeneratedDisabled(DNSDistTest): @@ -327,33 +287,30 @@ class TestEDNSSelfGeneratedDisabled(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'edns-no-do.tc.edns-self-disabled.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) expectedResponse = dns.message.make_response(query) expectedResponse.flags |= dns.flags.TC - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'edns-no-do.lua.edns-self-disabled.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.NXDOMAIN) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) name = 'edns-no-do.spoof.edns-self-disabled.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, want_dnssec=False) @@ -366,8 +323,7 @@ class TestEDNSSelfGeneratedDisabled(DNSDistTest): dns.rdatatype.A, '192.0.2.1', '192.0.2.2')) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.checkMessageNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.checkMessageNoEDNS(expectedResponse, receivedResponse) diff --git a/regression-tests.dnsdist/test_EdnsClientSubnet.py b/regression-tests.dnsdist/test_EdnsClientSubnet.py index 6adb863ed..87acf47da 100644 --- a/regression-tests.dnsdist/test_EdnsClientSubnet.py +++ b/regression-tests.dnsdist/test_EdnsClientSubnet.py @@ -40,19 +40,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithEDNSNoECS(self): """ @@ -77,19 +72,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) def testWithEDNSECS(self): """ @@ -113,19 +103,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithoutECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithoutECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryEDNSWithECS(query, receivedQuery) + self.checkResponseEDNSWithoutECS(response, receivedResponse) def testWithoutEDNSResponseWithECS(self): """ @@ -154,19 +139,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithEDNSNoECSResponseWithECS(self): """ @@ -195,19 +175,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) def testWithEDNSNoECSResponseWithCookiesThenECS(self): """ @@ -238,19 +213,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): expectedResponse.answer.append(rrset) expectedResponse.use_edns(edns=True, payload=4096, options=[ecoResponse]) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) def testWithEDNSNoECSResponseWithECSThenCookies(self): """ @@ -281,19 +251,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): expectedResponse.answer.append(rrset) response.use_edns(edns=True, payload=4096, options=[ecoResponse]) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=1) def testWithEDNSNoECSResponseWithCookiesThenECSThenCookies(self): """ @@ -323,20 +288,14 @@ class TestEdnsClientSubnetNoOverride(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=2) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=2) - + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse, withCookies=2) class TestEdnsClientSubnetOverride(DNSDistTest): """ @@ -376,19 +335,14 @@ class TestEdnsClientSubnetOverride(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithEDNSNoECS(self): """ @@ -414,19 +368,14 @@ class TestEdnsClientSubnetOverride(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithoutECS(expectedResponse, receivedResponse) def testWithEDNSShorterInitialECS(self): """ @@ -454,19 +403,14 @@ class TestEdnsClientSubnetOverride(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testWithEDNSLongerInitialECS(self): """ @@ -494,19 +438,14 @@ class TestEdnsClientSubnetOverride(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testWithEDNSSameSizeInitialECS(self): """ @@ -534,19 +473,14 @@ class TestEdnsClientSubnetOverride(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) class TestECSDisabledByRuleOrLua(DNSDistTest): """ @@ -586,19 +520,14 @@ class TestECSDisabledByRuleOrLua(DNSDistTest): response.answer.append(rrset) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithECSDisabledViaRule(self): """ @@ -614,19 +543,14 @@ class TestECSDisabledByRuleOrLua(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryNoEDNS(query, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryNoEDNS(query, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryNoEDNS(query, receivedQuery) + self.checkResponseNoEDNS(response, receivedResponse) def testWithECSDisabledViaLua(self): """ @@ -642,19 +566,14 @@ class TestECSDisabledByRuleOrLua(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryNoEDNS(query, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryNoEDNS(query, receivedQuery) - self.checkResponseNoEDNS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryNoEDNS(query, receivedQuery) + self.checkResponseNoEDNS(response, receivedResponse) class TestECSOverrideSetByRuleOrLua(DNSDistTest): """ @@ -692,19 +611,14 @@ class TestECSOverrideSetByRuleOrLua(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.checkQueryEDNSWithECS(query, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.checkQueryEDNSWithECS(query, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testWithECSOverrideSetViaRule(self): """ @@ -724,19 +638,14 @@ class TestECSOverrideSetByRuleOrLua(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) def testWithECSOverrideSetViaLua(self): """ @@ -756,19 +665,14 @@ class TestECSOverrideSetByRuleOrLua(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseEDNSWithECS(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseEDNSWithECS(response, receivedResponse) class TestECSPrefixLengthSetByRuleOrLua(DNSDistTest): """ @@ -809,19 +713,14 @@ class TestECSPrefixLengthSetByRuleOrLua(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithECSPrefixLengthOverriddenViaRule(self): """ @@ -841,19 +740,14 @@ class TestECSPrefixLengthSetByRuleOrLua(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithECSPrefixLengthOverriddenViaLua(self): """ @@ -873,19 +767,14 @@ class TestECSPrefixLengthSetByRuleOrLua(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) class TestECSPrefixSetByRule(DNSDistTest): """ @@ -921,19 +810,14 @@ class TestECSPrefixSetByRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) def testWithECSSetByRule(self): """ @@ -953,16 +837,11 @@ class TestECSPrefixSetByRule(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = expectedQuery.id - self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) - self.checkResponseNoEDNS(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = expectedQuery.id + self.checkQueryEDNSWithECS(expectedQuery, receivedQuery) + self.checkResponseNoEDNS(expectedResponse, receivedResponse) diff --git a/regression-tests.dnsdist/test_RecordsCount.py b/regression-tests.dnsdist/test_RecordsCount.py index cfd3d614b..4b9ce8b27 100644 --- a/regression-tests.dnsdist/test_RecordsCount.py +++ b/regression-tests.dnsdist/test_RecordsCount.py @@ -23,11 +23,10 @@ class TestRecordsCountOnlyOneAR(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testRecordsCountAllowOneAR(self): """ @@ -45,19 +44,14 @@ class TestRecordsCountOnlyOneAR(DNSDistTest): dns.rdatatype.A, '127.0.0.1')) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testRecordsCountRefuseTwoAR(self): """ @@ -76,11 +70,10 @@ class TestRecordsCountOnlyOneAR(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestRecordsCountMoreThanOneLessThanFour(DNSDistTest): @@ -102,11 +95,10 @@ class TestRecordsCountMoreThanOneLessThanFour(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testRecordsCountAllowTwoAN(self): """ @@ -126,19 +118,14 @@ class TestRecordsCountMoreThanOneLessThanFour(DNSDistTest): response = dns.message.make_response(query) response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testRecordsCountRefuseFourAN(self): """ @@ -160,11 +147,10 @@ class TestRecordsCountMoreThanOneLessThanFour(DNSDistTest): expectedResponse.set_rcode(dns.rcode.REFUSED) expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestRecordsCountNothingInNS(DNSDistTest): @@ -193,11 +179,10 @@ class TestRecordsCountNothingInNS(DNSDistTest): expectedResponse.set_rcode(dns.rcode.REFUSED) expectedResponse.authority.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testRecordsCountAllowEmptyNS(self): @@ -216,19 +201,14 @@ class TestRecordsCountNothingInNS(DNSDistTest): dns.rdatatype.A, '127.0.0.1')) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestRecordsCountNoOPTInAR(DNSDistTest): @@ -249,11 +229,10 @@ class TestRecordsCountNoOPTInAR(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.REFUSED) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) def testRecordsCountAllowNoOPTInAR(self): """ @@ -271,19 +250,14 @@ class TestRecordsCountNoOPTInAR(DNSDistTest): dns.rdatatype.A, '127.0.0.1')) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testRecordsCountAllowTwoARButNoOPT(self): """ @@ -312,16 +286,11 @@ class TestRecordsCountNoOPTInAR(DNSDistTest): dns.rdatatype.A, '127.0.0.1')) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) diff --git a/regression-tests.dnsdist/test_Responses.py b/regression-tests.dnsdist/test_Responses.py index 494143c6d..ffbdf9426 100644 --- a/regression-tests.dnsdist/test_Responses.py +++ b/regression-tests.dnsdist/test_Responses.py @@ -122,15 +122,12 @@ class TestResponseRuleQNameDropped(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, None) def testNotDropped(self): """ @@ -143,15 +140,12 @@ class TestResponseRuleQNameDropped(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) class TestResponseRuleQNameAllowed(DNSDistTest): @@ -172,15 +166,12 @@ class TestResponseRuleQNameAllowed(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testNotAllowed(self): """ @@ -193,15 +184,12 @@ class TestResponseRuleQNameAllowed(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, None) class TestResponseRuleEditTTL(DNSDistTest): @@ -236,19 +224,14 @@ class TestResponseRuleEditTTL(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - self.assertNotEquals(response.answer[0].ttl, receivedResponse.answer[0].ttl) - self.assertEquals(receivedResponse.answer[0].ttl, self._ttl) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - self.assertNotEquals(response.answer[0].ttl, receivedResponse.answer[0].ttl) - self.assertEquals(receivedResponse.answer[0].ttl, self._ttl) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) + self.assertNotEquals(response.answer[0].ttl, receivedResponse.answer[0].ttl) + self.assertEquals(receivedResponse.answer[0].ttl, self._ttl) class TestResponseLuaActionReturnSyntax(DNSDistTest): @@ -297,12 +280,9 @@ class TestResponseLuaActionReturnSyntax(DNSDistTest): query = dns.message.make_query(name, 'A', 'IN') response = dns.message.make_response(query) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(receivedResponse, None) diff --git a/regression-tests.dnsdist/test_Routing.py b/regression-tests.dnsdist/test_Routing.py index dfb8c1da6..e0bda09ae 100644 --- a/regression-tests.dnsdist/test_Routing.py +++ b/regression-tests.dnsdist/test_Routing.py @@ -29,15 +29,12 @@ class TestRoutingPoolRouting(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testDefaultPool(self): """ @@ -50,11 +47,10 @@ class TestRoutingPoolRouting(DNSDistTest): name = 'notpool.routing.tests.powerdns.com.' query = dns.message.make_query(name, 'A', 'IN') - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, None) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, None) class TestRoutingQPSPoolRouting(DNSDistTest): _config_template = """ @@ -274,14 +270,12 @@ class TestRoutingOrder(DNSDistTest): response.answer.append(rrset) for _ in range(numberOfQueries): - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) total = 0 if 'UDP Responder' in self._responsesCounter: @@ -307,12 +301,10 @@ class TestRoutingNoServer(DNSDistTest): expectedResponse = dns.message.make_response(query) expectedResponse.set_rcode(dns.rcode.SERVFAIL) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertEquals(receivedResponse, expectedResponse) - + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertEquals(receivedResponse, expectedResponse) class TestRoutingWRandom(DNSDistTest): diff --git a/regression-tests.dnsdist/test_Spoofing.py b/regression-tests.dnsdist/test_Spoofing.py index 601167e82..4cedcd32b 100644 --- a/regression-tests.dnsdist/test_Spoofing.py +++ b/regression-tests.dnsdist/test_Spoofing.py @@ -30,13 +30,11 @@ class TestSpoofingSpoof(DNSDistTest): '192.0.2.1') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testSpoofActionAAAA(self): """ @@ -57,13 +55,11 @@ class TestSpoofingSpoof(DNSDistTest): '2001:DB8::1') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testSpoofActionCNAME(self): """ @@ -84,13 +80,11 @@ class TestSpoofingSpoof(DNSDistTest): 'cnameaction.spoofing.tests.powerdns.com.') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testSpoofActionMultiA(self): """ @@ -111,13 +105,11 @@ class TestSpoofingSpoof(DNSDistTest): '192.0.2.2', '192.0.2.1') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testSpoofActionMultiAAAA(self): """ @@ -138,13 +130,11 @@ class TestSpoofingSpoof(DNSDistTest): '2001:DB8::1', '2001:DB8::2') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testSpoofActionMultiANY(self): """ @@ -173,13 +163,11 @@ class TestSpoofingSpoof(DNSDistTest): '2001:DB8::1', '2001:DB8::2') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) class TestSpoofingLuaSpoof(DNSDistTest): @@ -222,13 +210,11 @@ class TestSpoofingLuaSpoof(DNSDistTest): '192.0.2.1', '192.0.2.2') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testLuaSpoofAAAA(self): """ @@ -249,13 +235,11 @@ class TestSpoofingLuaSpoof(DNSDistTest): '2001:DB8::1') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testLuaSpoofAWithCNAME(self): """ @@ -276,13 +260,11 @@ class TestSpoofingLuaSpoof(DNSDistTest): 'spoofedcname.spoofing.tests.powerdns.com.') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testLuaSpoofAAAAWithCNAME(self): """ @@ -303,13 +285,11 @@ class TestSpoofingLuaSpoof(DNSDistTest): 'spoofedcname.spoofing.tests.powerdns.com.') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) class TestSpoofingLuaWithStatistics(DNSDistTest): @@ -367,10 +347,8 @@ class TestSpoofingLuaWithStatistics(DNSDistTest): self.assertTrue(receivedResponse) self.assertEquals(expectedResponse2, receivedResponse) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponseAfterwards, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponseAfterwards, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponseAfterwards, receivedResponse) diff --git a/regression-tests.dnsdist/test_Tags.py b/regression-tests.dnsdist/test_Tags.py index 6da32b9a0..736c87bf9 100644 --- a/regression-tests.dnsdist/test_Tags.py +++ b/regression-tests.dnsdist/test_Tags.py @@ -55,19 +55,14 @@ class TestBasics(DNSDistTest): '127.0.0.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testQuestionMatchTagAndValue(self): """ @@ -85,13 +80,11 @@ class TestBasics(DNSDistTest): '1.2.3.50') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testQuestionMatchTagOnly(self): """ @@ -109,13 +102,11 @@ class TestBasics(DNSDistTest): '1.2.3.100') expectedResponse.answer.append(rrset) - (_, receivedResponse) = self.sendUDPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (_, receivedResponse) = self.sendTCPQuery(query, response=None, useQueue=False) - self.assertTrue(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (_, receivedResponse) = sender(query, response=None, useQueue=False) + self.assertTrue(receivedResponse) + self.assertEquals(expectedResponse, receivedResponse) def testResponseNoMatch(self): """ @@ -131,19 +122,14 @@ class TestBasics(DNSDistTest): '192.0.2.1') response.answer.append(rrset) - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(response, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(response, receivedResponse) def testResponseMatchTagAndValue(self): """ @@ -165,21 +151,14 @@ class TestBasics(DNSDistTest): # we will set TC if the tag matches expectedResponse.flags |= dns.flags.TC - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - print(expectedResponse) - print(receivedResponse) - self.assertEquals(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(expectedResponse, receivedResponse) def testResponseMatchResponseTagMatches(self): """ @@ -201,16 +180,11 @@ class TestBasics(DNSDistTest): # we will set QR=0 if the tag matches expectedResponse.flags &= ~dns.flags.QR - (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(expectedResponse, receivedResponse) - - (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) - self.assertTrue(receivedQuery) - self.assertTrue(receivedResponse) - receivedQuery.id = query.id - self.assertEquals(query, receivedQuery) - self.assertEquals(expectedResponse, receivedResponse) + for method in ("sendUDPQuery", "sendTCPQuery"): + sender = getattr(self, method) + (receivedQuery, receivedResponse) = sender(query, response) + self.assertTrue(receivedQuery) + self.assertTrue(receivedResponse) + receivedQuery.id = query.id + self.assertEquals(query, receivedQuery) + self.assertEquals(expectedResponse, receivedResponse) diff --git a/regression-tests.dnsdist/test_Trailing.py b/regression-tests.dnsdist/test_Trailing.py index a9c74b585..3cb6047cd 100644 --- a/regression-tests.dnsdist/test_Trailing.py +++ b/regression-tests.dnsdist/test_Trailing.py @@ -80,8 +80,6 @@ class TestTrailingDataToBackend(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (receivedQuery, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedQuery) self.assertTrue(receivedResponse) @@ -108,8 +106,6 @@ class TestTrailingDataToBackend(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) (receivedQuery, receivedResponse) = sender(query, response) self.assertTrue(receivedQuery) self.assertTrue(receivedResponse) @@ -136,8 +132,6 @@ class TestTrailingDataToBackend(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) (_, receivedResponse) = sender(query, response) self.assertTrue(receivedResponse) self.assertEquals(receivedResponse, expectedResponse) @@ -161,8 +155,6 @@ class TestTrailingDataToBackend(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) (receivedQuery, receivedResponse) = sender(query, response) self.assertTrue(receivedQuery) self.assertTrue(receivedResponse) @@ -243,8 +235,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): sender = getattr(self, method) # Verify that queries with no trailing data make it through. - # (receivedQuery, receivedResponse) = self.sendUDPQuery(query, response) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(query, response) (receivedQuery, receivedResponse) = sender(query, response) self.assertTrue(receivedQuery) self.assertTrue(receivedResponse) @@ -253,8 +243,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): self.assertEquals(response, receivedResponse) # Verify that queries with trailing data don't make it through. - # (_, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (_, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (_, receivedResponse) = sender(raw, response, rawQuery=True) self.assertEquals(receivedResponse, None) @@ -278,8 +266,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (receivedQuery, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedQuery) self.assertTrue(receivedResponse) @@ -309,8 +295,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (_, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedResponse) expectedResponse.flags = receivedResponse.flags @@ -338,8 +322,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (_, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedResponse) expectedResponse.flags = receivedResponse.flags @@ -367,8 +349,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (_, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedResponse) expectedResponse.flags = receivedResponse.flags @@ -396,8 +376,6 @@ class TestTrailingDataToDnsdist(DNSDistTest): for method in ("sendUDPQuery", "sendTCPQuery"): sender = getattr(self, method) - # (receivedQuery, receivedResponse) = self.sendUDPQuery(raw, response, rawQuery=True) - # (receivedQuery, receivedResponse) = self.sendTCPQuery(raw, response, rawQuery=True) (_, receivedResponse) = sender(raw, response, rawQuery=True) self.assertTrue(receivedResponse) expectedResponse.flags = receivedResponse.flags -- 2.40.0