|
@@ -97,19 +97,7 @@ class ClientListTest(unittest.TestCase):
|
|
|
self.assertRaises(TypeError, self.clist.configure, "[]")
|
|
|
self.assertRaises(TypeError, self.clist.configure, "[]", "true")
|
|
|
|
|
|
- def test_find(self):
|
|
|
- """
|
|
|
- Test the find accepts the right arguments, some of them can be omitted,
|
|
|
- etc.
|
|
|
- """
|
|
|
- self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN)
|
|
|
- self.clist.configure('''[{
|
|
|
- "type": "MasterFiles",
|
|
|
- "params": {
|
|
|
- "example.org": "''' + TESTDATA_PATH + '''example.org.zone"
|
|
|
- },
|
|
|
- "cache-enable": true
|
|
|
- }]''', True)
|
|
|
+ def find_helper(self):
|
|
|
dsrc, finder, exact = self.clist.find(isc.dns.Name("sub.example.org"))
|
|
|
self.assertIsNotNone(dsrc)
|
|
|
self.assertTrue(isinstance(dsrc, isc.datasrc.DataSourceClient))
|
|
@@ -151,6 +139,22 @@ class ClientListTest(unittest.TestCase):
|
|
|
self.assertRaises(TypeError, self.clist.find, "example.org")
|
|
|
self.assertRaises(TypeError, self.clist.find)
|
|
|
|
|
|
+ def test_find(self):
|
|
|
+ """
|
|
|
+ Test the find accepts the right arguments, some of them can be omitted,
|
|
|
+ etc.
|
|
|
+ """
|
|
|
+ self.clist = isc.datasrc.ConfigurableClientList(isc.dns.RRClass.IN)
|
|
|
+ self.clist.configure('''[{
|
|
|
+ "type": "MasterFiles",
|
|
|
+ "params": {
|
|
|
+ "example.org": "''' + TESTDATA_PATH + '''example.org.zone"
|
|
|
+ },
|
|
|
+ "cache-enable": true
|
|
|
+ }]''', True)
|
|
|
+
|
|
|
+ self.find_helper()
|
|
|
+
|
|
|
def test_find_mapped(self):
|
|
|
"""
|
|
|
Test find on a mapped segment.
|
|
@@ -178,47 +182,7 @@ class ClientListTest(unittest.TestCase):
|
|
|
self.assertEqual(isc.datasrc.ConfigurableClientList.CACHE_STATUS_CACHE_NOT_WRITABLE, result[0])
|
|
|
|
|
|
# The segment is still in READ_ONLY mode.
|
|
|
-
|
|
|
- dsrc, finder, exact = self.clist.find(isc.dns.Name("sub.example.org"))
|
|
|
- self.assertIsNotNone(dsrc)
|
|
|
- self.assertTrue(isinstance(dsrc, isc.datasrc.DataSourceClient))
|
|
|
- self.assertIsNotNone(finder)
|
|
|
- self.assertTrue(isinstance(finder, isc.datasrc.ZoneFinder))
|
|
|
- # Check the finder holds a reference to the data source
|
|
|
- # Note that one reference is kept in the parameter list
|
|
|
- # of getrefcount
|
|
|
- self.assertEqual(3, sys.getrefcount(dsrc))
|
|
|
- finder = None
|
|
|
- self.assertEqual(2, sys.getrefcount(dsrc))
|
|
|
- # We check an exact match in test_configure already
|
|
|
- self.assertFalse(exact)
|
|
|
- self.dsrc, self.finder, exact = \
|
|
|
- self.clist.find(isc.dns.Name("sub.example.org"), False)
|
|
|
- self.assertIsNotNone(self.dsrc)
|
|
|
- self.assertTrue(isinstance(self.dsrc, isc.datasrc.DataSourceClient))
|
|
|
- self.assertIsNotNone(self.finder)
|
|
|
- self.assertTrue(isinstance(self.finder, isc.datasrc.ZoneFinder))
|
|
|
- self.assertFalse(exact)
|
|
|
- self.dsrc, self.finder, exact = \
|
|
|
- self.clist.find(isc.dns.Name("sub.example.org"), True)
|
|
|
- self.assertIsNone(self.dsrc)
|
|
|
- self.assertIsNone(self.finder)
|
|
|
- self.assertFalse(exact)
|
|
|
- self.dsrc, self.finder, exact = \
|
|
|
- self.clist.find(isc.dns.Name("sub.example.org"), False, False)
|
|
|
- self.assertIsNotNone(self.dsrc)
|
|
|
- self.assertTrue(isinstance(self.dsrc, isc.datasrc.DataSourceClient))
|
|
|
- self.assertIsNotNone(self.finder)
|
|
|
- self.assertTrue(isinstance(self.finder, isc.datasrc.ZoneFinder))
|
|
|
- self.assertFalse(exact)
|
|
|
- self.dsrc, self.finder, exact = \
|
|
|
- self.clist.find(isc.dns.Name("sub.example.org"), True, False)
|
|
|
- self.assertIsNone(self.dsrc)
|
|
|
- self.assertIsNone(self.finder)
|
|
|
- self.assertFalse(exact)
|
|
|
- # Some invalid inputs
|
|
|
- self.assertRaises(TypeError, self.clist.find, "example.org")
|
|
|
- self.assertRaises(TypeError, self.clist.find)
|
|
|
+ self.find_helper()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
isc.log.init("bind10")
|