--- /dev/null
+import difflib
+import dns
+import unittest
+
+class AssertEqualDNSMessageMixin(unittest.TestCase):
+ def assertEqualDNSMessage(self, first, second, msg=None):
+ if not first == second:
+ a = str(first).split('\n')
+ b = str(second).split('\n')
+
+ diff = '\n'.join(
+ difflib.unified_diff(
+ a,
+ b,
+ fromfile='first',
+ tofile='second',
+ n=max(len(a), len(b)),
+ lineterm=""
+ )
+ )
+
+ standardMsg = "%s != %s:\n%s" % (repr(first), repr(second), diff)
+ msg = self._formatMessage(msg, standardMsg)
+
+ raise self.failureException(msg)
+
+ def setUp(self):
+ self.addTypeEqualityFunc(dns.message.Message, self.assertEqualDNSMessage)
+
+ super(AssertEqualDNSMessageMixin, self).setUp()
\ No newline at end of file
import libnacl
import libnacl.utils
+from eqdnsmessage import AssertEqualDNSMessageMixin
+
# Python2/3 compatibility hacks
try:
from queue import Queue
pass
-class DNSDistTest(unittest.TestCase):
+class DNSDistTest(AssertEqualDNSMessageMixin, unittest.TestCase):
"""
Set up a dnsdist instance and responder threads.
Queries sent to dnsdist are relayed to the responder threads,
def setUp(self):
# This function is called before every tests
- self.addTypeEqualityFunc(dns.message.Message, self.assertEqualDNSMessage)
-
# Clear the responses counters
for key in self._responsesCounter:
self._responsesCounter[key] = 0
while not self._fromResponderQueue.empty():
self._fromResponderQueue.get(False)
+ super(DNSDistTest, self).setUp()
+
@classmethod
def clearToResponderQueue(cls):
while not cls._toResponderQueue.empty():
def checkResponseNoEDNS(self, expected, received):
self.checkMessageNoEDNS(expected, received)
- def assertEqualDNSMessage(self, first, second, msg=None):
- if not first == second:
- a = str(first).split('\n')
- b = str(second).split('\n')
-
- import difflib
-
- diff = '\n'.join(
- difflib.unified_diff(
- a,
- b,
- fromfile='first',
- tofile='second',
- n=max(len(a), len(b)),
- lineterm=""
- )
- )
-
- standardMsg = "%s != %s:\n%s" % (repr(first), repr(second), diff)
- msg = self._formatMessage(msg, standardMsg)
-
- raise self.failureException(msg)