From 11927be3eb2a9f1aa0f210dc7dd73c7c32209d01 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Wed, 7 Apr 2021 10:07:09 +0200 Subject: [PATCH] Aslo test query_address for value and query_port for presence --- .../test_RecDnstap.py | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/regression-tests.recursor-dnssec/test_RecDnstap.py b/regression-tests.recursor-dnssec/test_RecDnstap.py index 8993f432f5..bb6aeea5de 100644 --- a/regression-tests.recursor-dnssec/test_RecDnstap.py +++ b/regression-tests.recursor-dnssec/test_RecDnstap.py @@ -26,7 +26,7 @@ except NameError: pass -def checkDnstapBase(testinstance, dnstap, protocol, initiator): +def checkDnstapBase(testinstance, dnstap, protocol, initiator, responder): testinstance.assertTrue(dnstap) testinstance.assertTrue(dnstap.HasField('identity')) #testinstance.assertEqual(dnstap.identity, b'a.server') @@ -40,19 +40,20 @@ def checkDnstapBase(testinstance, dnstap, protocol, initiator): testinstance.assertTrue(dnstap.message.HasField('socket_family')) testinstance.assertEqual(dnstap.message.socket_family, dnstap_pb2.INET) # - # We cannot check the query address and port since we only log outgoing queries via dnstap + # The query address and port are from the the recursor, we don't know the port # - #testinstance.assertTrue(dnstap.message.HasField('query_address')) - #testinstance.assertEqual(socket.inet_ntop(socket.AF_INET, dnstap.message.query_address), initiator) + testinstance.assertTrue(dnstap.message.HasField('query_address')) + testinstance.assertEqual(socket.inet_ntop(socket.AF_INET, dnstap.message.query_address), initiator) + testinstance.assertTrue(dnstap.message.HasField('query_port')) testinstance.assertTrue(dnstap.message.HasField('response_address')) - testinstance.assertEqual(socket.inet_ntop(socket.AF_INET, dnstap.message.response_address), initiator) + testinstance.assertEqual(socket.inet_ntop(socket.AF_INET, dnstap.message.response_address), responder) testinstance.assertTrue(dnstap.message.HasField('response_port')) testinstance.assertEqual(dnstap.message.response_port, 53) -def checkDnstapQuery(testinstance, dnstap, protocol, initiator='127.0.0.1'): +def checkDnstapQuery(testinstance, dnstap, protocol, initiator, responder): testinstance.assertEqual(dnstap.message.type, dnstap_pb2.Message.RESOLVER_QUERY) - checkDnstapBase(testinstance, dnstap, protocol, initiator) + checkDnstapBase(testinstance, dnstap, protocol, initiator, responder) testinstance.assertTrue(dnstap.message.HasField('query_time_sec')) testinstance.assertTrue(dnstap.message.HasField('query_time_nsec')) @@ -75,9 +76,9 @@ def checkDnstapNoExtra(testinstance, dnstap): testinstance.assertFalse(dnstap.HasField('extra')) -def checkDnstapResponse(testinstance, dnstap, protocol, response, initiator='127.0.0.1'): +def checkDnstapResponse(testinstance, dnstap, protocol, response, initiator, responder): testinstance.assertEqual(dnstap.message.type, dnstap_pb2.Message.RESOLVER_RESPONSE) - checkDnstapBase(testinstance, dnstap, protocol, initiator) + checkDnstapBase(testinstance, dnstap, protocol, initiator, responder) testinstance.assertTrue(dnstap.message.HasField('query_time_sec')) testinstance.assertTrue(dnstap.message.HasField('query_time_nsec')) @@ -285,7 +286,7 @@ dnstapFrameStreamServer({"%s"}) # check the dnstap message corresponding to the UDP query dnstap = self.getFirstDnstap() - checkDnstapQuery(self, dnstap, dnstap_pb2.UDP, '127.0.0.8') + checkDnstapQuery(self, dnstap, dnstap_pb2.UDP, '127.0.0.1', '127.0.0.8') # We don't expect a response checkDnstapNoExtra(self, dnstap) -- 2.47.2