]> granicus.if.org Git - pdns/commitdiff
fix rrset sorting
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Tue, 27 Nov 2018 14:52:11 +0000 (15:52 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Tue, 27 Nov 2018 14:52:56 +0000 (15:52 +0100)
regression-tests.auth-py/authtests.py
regression-tests.auth-py/test_LuaRecords.py

index c680a82dc33e45b39d52e4d8d8c92ebaadfbb044..61073234e1d6257cee7d1e43a56d56e593f53059 100644 (file)
@@ -413,6 +413,13 @@ distributor-threads=1""".format(confdir=confdir, prefix=cls._PREFIX,
         if not found :
             raise AssertionError("RRset not found in answer\n\n%s" % ret)
 
+    def sortRRsets(self, rrsets):
+        """Sorts RRsets in a more useful way than dnspython's default behaviour
+
+        @param rrsets: an array of dns.rrset.RRset objects"""
+
+        return sorted(rrsets, key=lambda rrset: (rrset.name, rrset.rdtype))
+
     def assertAnyRRsetInAnswer(self, msg, rrsets):
         """Asserts that any of the supplied rrsets exists (without comparing TTL)
         in the answer section of msg
index 1a5e41aa95088b67926494363f6fa0b5ae84f1ae..693ae879c4217f940be8f2736ebc9bef1c1bab39 100644 (file)
@@ -559,7 +559,7 @@ any              IN           TXT "hello there"
 
         res = self.sendUDPQuery(query)
         self.assertRcodeEqual(res, dns.rcode.NOERROR)
-        self.assertEqual(sorted(res.answer), sorted(response.answer))
+        self.assertEqual(self.sortRRsets(res.answer), self.sortRRsets(response.answer))
 
 if __name__ == '__main__':
     unittest.main()