cls._protobufListener.daemon = True
cls._protobufListener.start()
- def getFirstProtobufMessage(self):
+ def getFirstProtobufMessage(self, timeout=None):
+ if timeout is not None:
+ self.waitUntilPBQueueIsNoLongerEmpty(timeout)
self.assertFalse(self._protobufQueue.empty())
data = self._protobufQueue.get(False)
self.assertTrue(data)
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
self.checkProtobufTags(
)
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response)
self.checkProtobufTags(
msg.response.tags, ["TestLabel1,TestData1", "TestLabel2,TestData2", "TestLabel3,TestData3", "Response,456"]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.TCP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
self.checkProtobufTags(
)
# check the protobuf message corresponding to the TCP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, response)
self.checkProtobufTags(
msg.response.tags, ["TestLabel1,TestData1", "TestLabel2,TestData2", "TestLabel3,TestData3", "Response,456"]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
flags = int.from_bytes(query.to_wire()[2:4], byteorder=sys.byteorder)
self.checkProtobufQueryConvertedToResponse(
msg, dnsmessage_pb2.PBDNSMessage.UDP, response, "127.0.0.0", flags=flags
)
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response, "127.0.0.0")
self.checkProtobufTags(
msg.response.tags, ["TestLabel1,TestData1", "TestLabel2,TestData2", "TestLabel3,TestData3", "Response,456"]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
flags = int.from_bytes(query.to_wire()[2:4], byteorder=sys.byteorder)
self.checkProtobufQueryConvertedToResponse(
msg, dnsmessage_pb2.PBDNSMessage.TCP, response, "127.0.0.0", flags=flags
)
# check the protobuf message corresponding to the TCP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, response, "127.0.0.0")
self.checkProtobufTags(
msg.response.tags, ["TestLabel1,TestData1", "TestLabel2,TestData2", "TestLabel3,TestData3", "Response,456"]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
# regular tags
self.assertEqual(tags["my-tag-export-name"], ["my-tag-value"])
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response)
# regular tags
self.assertEqual(len(msg.response.tags), 2)
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
# regular tags
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
# regular tags
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
# regular tags
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
# regular tags
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
self.assertEqual(len(msg.meta), 0)
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response)
# meta tags
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response)
self.assertTrue(msg.HasField("packetCacheHit"))
self.assertFalse(msg.packetCacheHit)
self.assertTrue(receivedResponse)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response)
self.assertTrue(msg.HasField("packetCacheHit"))
self.assertTrue(msg.packetCacheHit)
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
if method == "sendUDPQuery":
pbMessageType = dnsmessage_pb2.PBDNSMessage.UDP
self.assertEqual(msg.httpVersion, dnsmessage_pb2.PBDNSMessage.HTTPVersion.HTTP2)
# check the protobuf message corresponding to the response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, pbMessageType, response)
self.assertEqual(len(msg.meta), 5)
tags = {}
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(
msg,
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
# 108.41.239.98 is 127.0.0.1 pseudonymized with ipcipher and the current key
self.checkProtobufQuery(
)
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response, "108.41.239.98")
self.assertEqual(len(msg.response.rrs), 2)
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
# 108.41.239.98 is 127.0.0.1 pseudonymized with ipcipher and the current key
self.checkProtobufQuery(
msg, dnsmessage_pb2.PBDNSMessage.TCP, query, dns.rdataclass.IN, dns.rdatatype.A, name, "108.41.239.98"
)
# check the protobuf message corresponding to the TCP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, response, "108.41.239.98")
self.assertEqual(len(msg.response.rrs), 2)
rr = msg.response.rrs[0]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
# 108.41.239.98 is 127.0.0.1 pseudonymized with ipcrypt2-pfx and the current key
self.checkProtobufQuery(
)
# check the protobuf message corresponding to the UDP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, response, "109.33.15.148")
self.assertEqual(len(msg.response.rrs), 2)
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
# 108.41.239.98 is 127.0.0.1 pseudonymized with ipcrypt2-pfx and the current key
self.checkProtobufQuery(
msg, dnsmessage_pb2.PBDNSMessage.TCP, query, dns.rdataclass.IN, dns.rdatatype.A, name, "109.33.15.148"
)
# check the protobuf message corresponding to the TCP response
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, response, "109.33.15.148")
self.assertEqual(len(msg.response.rrs), 2)
rr = msg.response.rrs[0]
self.assertEqual(query, receivedQuery)
self.assertEqual(response, receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
if method == "sendDOQQueryWrapper":
pbMessageType = dnsmessage_pb2.PBDNSMessage.DOQ
# check the protobuf messages corresponding to the responses
count = 0
while not self._protobufQueue.empty():
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=None)
count = count + 1
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, responses[count - 1])
self.assertEqual(receivedQuery, query)
self.assertEqual(receivedResponse, response)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.UDP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufQuery(msg, dnsmessage_pb2.PBDNSMessage.TCP, query, dns.rdataclass.IN, dns.rdatatype.A, name)
self.assertEqual(receivedResponse, response)
receivedResponses.append(receivedResponse)
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# check the protobuf message corresponding to the UDP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.UDP, receivedResponses[0])
- self.waitUntilPBQueueIsNoLongerEmpty(timeout=1)
-
# TCP query
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=1)
self.checkProtobufResponse(msg, dnsmessage_pb2.PBDNSMessage.TCP, receivedResponses[1])
continue
# check the protobuf message
- msg = self.getFirstProtobufMessage()
+ msg = self.getFirstProtobufMessage(timeout=None)
if msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.UDP:
gotUDP = True
protocol = dnsmessage_pb2.PBDNSMessage.UDP