|
@@ -1692,6 +1692,38 @@ class TestXfrin(unittest.TestCase):
|
|
|
|
|
|
self._check_zones_config(config2)
|
|
self._check_zones_config(config2)
|
|
|
|
|
|
|
|
+ def common_ixfr_setup(self, xfr_mode, ixfr_disabled):
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ config = {'zones': [
|
|
|
|
+ {'name': 'example.com.',
|
|
|
|
+ 'master_addr': '192.0.2.1',
|
|
|
|
+ 'ixfr_disabled': ixfr_disabled}]}
|
|
|
|
+ self.assertEqual(self.xfr.config_handler(config)['result'][0], 0)
|
|
|
|
+ self.assertEqual(self.xfr.command_handler(xfr_mode,
|
|
|
|
+ self.args)['result'][0], 0)
|
|
|
|
+
|
|
|
|
+ def test_command_handler_retransfer_ixfr_enabled(self):
|
|
|
|
+
|
|
|
|
+ self.common_ixfr_setup('retransfer', False)
|
|
|
|
+ self.assertEqual(RRType.IXFR(), self.xfr.xfrin_started_request_type)
|
|
|
|
+
|
|
|
|
+ def test_command_handler_refresh_ixfr_enabled(self):
|
|
|
|
+
|
|
|
|
+ self.common_ixfr_setup('refresh', False)
|
|
|
|
+ self.assertEqual(RRType.IXFR(), self.xfr.xfrin_started_request_type)
|
|
|
|
+
|
|
|
|
+ def test_command_handler_retransfer_ixfr_disabled(self):
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ self.common_ixfr_setup('retransfer', True)
|
|
|
|
+ self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type)
|
|
|
|
+
|
|
|
|
+ def test_command_handler_refresh_ixfr_disabled(self):
|
|
|
|
+
|
|
|
|
+ self.common_ixfr_setup('refresh', True)
|
|
|
|
+ self.assertEqual(RRType.AXFR(), self.xfr.xfrin_started_request_type)
|
|
|
|
|
|
def raise_interrupt():
|
|
def raise_interrupt():
|
|
raise KeyboardInterrupt()
|
|
raise KeyboardInterrupt()
|