Browse 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 12 years ago
parent
commit
73f842441c
2 changed files with 8 additions and 12 deletions
  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 }