Parcourir la source

[2911] make sure to use default request_ixfr from the spec, not hardcoding it.

also updated the test so the MockCC refers to the spec default, instead of
hardcoding the values.
JINMEI Tatuya il y a 12 ans
Parent
commit
73f842441c
2 fichiers modifiés avec 8 ajouts et 12 suppressions
  1. 6 11
      src/bin/xfrin/tests/xfrin_test.py
  2. 2 1
      src/bin/xfrin/xfrin.py.in

+ 6 - 11
src/bin/xfrin/tests/xfrin_test.py

@@ -129,17 +129,12 @@ class XfrinTestException(Exception):
 class XfrinTestTimeoutException(Exception):
     pass
 
-class MockCC(MockModuleCCSession):
-    def get_default_value(self, identifier):
-        # The returned values should be identical to the spec file
-        # XXX: these should be retrieved from the spec file
-        # (see MyCCSession of xfrout_test.py.in)
-        if identifier == "zones/master_port":
-            return TEST_MASTER_PORT
-        if identifier == "zones/class":
-            return TEST_RRCLASS_STR
-        if identifier == "zones/use_ixfr":
-            return False
+class MockCC(MockModuleCCSession, ConfigData):
+    def __init__(self):
+        super().__init__()
+        module_spec = isc.config.module_spec_from_file(
+            xfrin.SPECFILE_LOCATION)
+        ConfigData.__init__(self, module_spec)
 
     def add_remote_config_by_name(self, name, callback):
         pass

+ 2 - 1
src/bin/xfrin/xfrin.py.in

@@ -1373,7 +1373,8 @@ class ZoneInfo:
 
     def set_request_ixfr(self, request_ixfr):
         if request_ixfr is None:
-            request_ixfr = 'no' # if unspecified, use the default
+            request_ixfr = \
+                self._module_cc.get_default_value("zones/request_ixfr")
         cfg_to_val = { 'yes': self.REQUEST_IXFR_FIRST,
                        'only': self.REQUEST_IXFR_ONLY,
                        'no': self.REQUEST_IXFR_DISABLED }