|
@@ -304,8 +304,8 @@ class TestZonemgrRefresh(unittest.TestCase):
|
|
|
def get_zone_soa2(zone_name, db_file):
|
|
|
return None
|
|
|
sqlite3_ds.get_zone_soa = get_zone_soa2
|
|
|
- self.assertRaises(ZonemgrException, self.zone_refresh.zonemgr_add_zone, \
|
|
|
- ZONE_NAME_CLASS1_IN)
|
|
|
+ self.zone_refresh.zonemgr_add_zone(ZONE_NAME_CLASS2_IN)
|
|
|
+ self.assertFalse(ZONE_NAME_CLASS2_IN in self.zone_refresh._zonemgr_refresh_info)
|
|
|
sqlite3_ds.get_zone_soa = old_get_zone_soa
|
|
|
|
|
|
def test_zone_handle_notify(self):
|
|
@@ -440,6 +440,8 @@ class TestZonemgrRefresh(unittest.TestCase):
|
|
|
"class": "IN" } ]
|
|
|
}
|
|
|
self.zone_refresh.update_config_data(config_data)
|
|
|
+ self.assertTrue(("example.net.", "IN") in
|
|
|
+ self.zone_refresh._zonemgr_refresh_info)
|
|
|
|
|
|
# update all values
|
|
|
config_data = {
|
|
@@ -479,14 +481,15 @@ class TestZonemgrRefresh(unittest.TestCase):
|
|
|
"secondary_zones": [ { "name": "doesnotexist",
|
|
|
"class": "IN" } ]
|
|
|
}
|
|
|
- self.assertRaises(ZonemgrException,
|
|
|
- self.zone_refresh.update_config_data,
|
|
|
- config_data)
|
|
|
- self.assertEqual(60, self.zone_refresh._lowerbound_refresh)
|
|
|
- self.assertEqual(30, self.zone_refresh._lowerbound_retry)
|
|
|
- self.assertEqual(19800, self.zone_refresh._max_transfer_timeout)
|
|
|
- self.assertEqual(0.25, self.zone_refresh._refresh_jitter)
|
|
|
- self.assertEqual(0.35, self.zone_refresh._reload_jitter)
|
|
|
+ self.zone_refresh.update_config_data(config_data)
|
|
|
+ self.assertFalse(("doesnotexist.", "IN")
|
|
|
+ in self.zone_refresh._zonemgr_refresh_info)
|
|
|
+ # The other configs should be updated successful
|
|
|
+ self.assertEqual(61, self.zone_refresh._lowerbound_refresh)
|
|
|
+ self.assertEqual(31, self.zone_refresh._lowerbound_retry)
|
|
|
+ self.assertEqual(19801, self.zone_refresh._max_transfer_timeout)
|
|
|
+ self.assertEqual(0.21, self.zone_refresh._refresh_jitter)
|
|
|
+ self.assertEqual(0.71, self.zone_refresh._reload_jitter)
|
|
|
|
|
|
# Make sure we accept 0 as a value
|
|
|
config_data = {
|
|
@@ -526,10 +529,11 @@ class TestZonemgrRefresh(unittest.TestCase):
|
|
|
self.zone_refresh._zonemgr_refresh_info)
|
|
|
# This one does not exist
|
|
|
config.set_zone_list_from_name_classes(["example.net", "CH"])
|
|
|
- self.assertRaises(ZonemgrException,
|
|
|
- self.zone_refresh.update_config_data, config)
|
|
|
- # So it should not affect the old ones
|
|
|
- self.assertTrue(("example.net.", "IN") in
|
|
|
+ self.zone_refresh.update_config_data(config)
|
|
|
+ self.assertFalse(("example.net.", "CH") in
|
|
|
+ self.zone_refresh._zonemgr_refresh_info)
|
|
|
+ # Simply skip the zone, the other configs should be updated successful
|
|
|
+ self.assertFalse(("example.net.", "IN") in
|
|
|
self.zone_refresh._zonemgr_refresh_info)
|
|
|
# Make sure it works even when we "accidentally" forget the final dot
|
|
|
config.set_zone_list_from_name_classes([("example.net", "IN")])
|
|
@@ -596,15 +600,17 @@ class TestZonemgr(unittest.TestCase):
|
|
|
config_data3 = {"refresh_jitter" : 0.7}
|
|
|
self.zonemgr.config_handler(config_data3)
|
|
|
self.assertEqual(0.5, self.zonemgr._config_data.get("refresh_jitter"))
|
|
|
- # The zone doesn't exist in database, it should be rejected
|
|
|
+ # The zone doesn't exist in database, simply skip it and log an error
|
|
|
self.zonemgr._zone_refresh = ZonemgrRefresh(None, "initdb.file", None,
|
|
|
config_data1)
|
|
|
config_data1["secondary_zones"] = [{"name": "nonexistent.example",
|
|
|
"class": "IN"}]
|
|
|
- self.assertNotEqual(self.zonemgr.config_handler(config_data1),
|
|
|
+ self.assertEqual(self.zonemgr.config_handler(config_data1),
|
|
|
{"result": [0]})
|
|
|
- # As it is rejected, the old value should be kept
|
|
|
- self.assertEqual(0.5, self.zonemgr._config_data.get("refresh_jitter"))
|
|
|
+ # other configs should be updated successful
|
|
|
+ self.assertFalse(("nonexistent.example.", "IN") in
|
|
|
+ self.zonemgr._zone_refresh._zonemgr_refresh_info)
|
|
|
+ self.assertEqual(0.1, self.zonemgr._config_data.get("refresh_jitter"))
|
|
|
|
|
|
def test_get_db_file(self):
|
|
|
self.assertEqual("initdb.file", self.zonemgr.get_db_file())
|