示例#1
0
 def test_set_value_section(self):
     """Test setting config values in new section
     """
     conf.load(self.filename)
     self.assertFalse("a.b" in conf)
     conf["a.b"] = 2
     self.assertTrue("a.b" in conf)
     self.assertEqual(conf["a.b"], 2)
示例#2
0
 def test_override_with_args(self):
     """Test adding config options from dictionary
     """
     conf.load(self.filename)
     self.assertTrue('section_1.a' in conf)
     self.assertEqual(conf['section_1.a'], '12')
     conf.override_with_args([('section_1.a', '13')])
     self.assertEqual(conf['section_1.a'], '13')
示例#3
0
 def test_set_value(self):
     """Test setting config values
     """
     conf.load(self.filename)
     self.assertFalse("a" in conf)
     conf["a"] = 2
     self.assertTrue("a" in conf)
     self.assertEqual(conf["a"], 2)
示例#4
0
 def test_override_with_args(self):
     """Test adding config options from dictionary
     """
     conf.load(self.filename)
     self.assertTrue('section_1.a' in conf)
     self.assertEqual(conf['section_1.a'], '12')
     conf.override_with_args([('section_1.a', '13')])
     self.assertEqual(conf['section_1.a'], '13')
示例#5
0
 def test_override_with_args(self):
     """Test adding config options from dictionary
     """
     conf.load(self.filename)
     self.assertTrue("section_1.a" in conf)
     self.assertEqual(conf["section_1.a"], "12")
     conf.override_with_args([("section_1.a", "13")])
     self.assertEqual(conf["section_1.a"], "13")
示例#6
0
 def test_set_value_section(self):
     """Test setting config values in new section
     """
     conf.load(self.filename)
     self.assertFalse('a.b' in conf)
     conf['a.b'] = 2
     self.assertTrue('a.b' in conf)
     self.assertEqual(conf['a.b'], 2)
示例#7
0
 def test_override_with_args_level(self):
     """Test adding config options from dictionary at higher level
     """
     conf.load(self.filename)
     conf["section_1.section_12.a"] = "15"
     self.assertEqual(conf["section_1.section_12.a"], "15")
     conf.override_with_args([("section_1.section_12.a", "13")])
     self.assertEqual(conf["section_1.section_12.a"], "13")
示例#8
0
 def test_set_value(self):
     """Test setting config values
     """
     conf.load(self.filename)
     self.assertFalse('a' in conf)
     conf['a'] = 2
     self.assertTrue('a' in conf)
     self.assertEqual(conf['a'], 2)
示例#9
0
 def test_load_with_spec(self):
     """Test loading a configuration with a specification
     """
     spec = "[section_1]\n" "a = integer(min=0, default=5)"
     conf.load(self.filename, spec=([option.encode() for option in spec.split("\n")]))
     self.assertTrue("section_1.a" in conf)
     self.assertIsInstance(conf["section_1.a"], int)
     self.assertEqual(conf["section_1.a"], 12)
示例#10
0
 def test_override_with_args_level(self):
     """Test adding config options from dictionary at higher level
     """
     conf.load(self.filename)
     conf['section_1.section_12.a'] = '15'
     self.assertEqual(conf['section_1.section_12.a'], '15')
     conf.override_with_args([('section_1.section_12.a', '13')])
     self.assertEqual(conf['section_1.section_12.a'], '13')
示例#11
0
 def test_load_with_spec(self):
     """Test loading a configuration with a specification
     """
     spec = ("[section_1]\n" "a = integer(min=0, default=5)")
     conf.load(self.filename,
               spec=([option.encode() for option in spec.split('\n')]))
     self.assertTrue('section_1.a' in conf)
     self.assertIsInstance(conf['section_1.a'], int)
     self.assertEqual(conf['section_1.a'], 12)
示例#12
0
 def test_get_or_set(self):
     """Test get_or_setting config values
     """
     conf.load(self.filename)
     self.assertRaises(KeyError, lambda: conf['a'])
     self.assertRaises(KeyError, conf.get, 'a')
     self.assertFalse('a' in conf)
     self.assertEqual(conf.get_or_set('a', 12), 12)
     self.assertEqual(conf.get('a'), 12)
     self.assertTrue('a' in conf)
示例#13
0
 def test_load_conf(self):
     """Test loading a configuration
     """
     conf.load(self.filename)
     a_conf = conf['section_1.a']
     self.assertEqual(a_conf, '12')
     b_conf = conf['section_1.b']
     self.assertEqual(b_conf, '13')
     c_conf = conf['section_2.c']
     self.assertEqual(c_conf, 'True')
示例#14
0
 def test_load_conf(self):
     """Test loading a configuration
     """
     conf.load(self.filename)
     a_conf = conf['section_1.a']
     self.assertEqual(a_conf, '12')
     b_conf = conf['section_1.b']
     self.assertEqual(b_conf, '13')
     c_conf = conf['section_2.c']
     self.assertEqual(c_conf, 'True')
示例#15
0
 def test_load_conf(self):
     """Test loading a configuration
     """
     conf.load(self.filename)
     a_conf = conf["section_1.a"]
     self.assertEqual(a_conf, "12")
     b_conf = conf["section_1.b"]
     self.assertEqual(b_conf, "13")
     c_conf = conf["section_2.c"]
     self.assertEqual(c_conf, "True")
示例#16
0
    def test_override_with_args_spec(self):
        """Test adding config options with a spec
        """
        spec = "[section_1]\n" "a = integer(min=0, default=5, max=13)"

        conf.load(self.filename, spec=([option.encode() for option in spec.split("\n")]))
        conf.override_with_args([("section_1.a", "13")])
        self.assertEqual(conf["section_1.a"], "13")
        conf.validate_config(conf.base)
        self.assertEqual(conf["section_1.a"], 13)
示例#17
0
 def test_get_or_set(self):
     """Test get_or_setting config values
     """
     conf.load(self.filename)
     self.assertRaises(KeyError, lambda: conf["a"])
     self.assertRaises(KeyError, conf.get, "a")
     self.assertFalse("a" in conf)
     self.assertEqual(conf.get_or_set("a", 12), 12)
     self.assertEqual(conf.get("a"), 12)
     self.assertTrue("a" in conf)
示例#18
0
 def test_save_no_config(self):
     """Test saving uninitialized config
     """
     conf["a"] = 12
     with tempfile.NamedTemporaryFile() as temp:
         conf.save(temp.name)
         conf.reset_instance()
         self.assertNotIn("a", conf)
         conf.load(temp.name)
         self.assertIn("a", conf)
         self.assertEqual(int(conf["a"]), 12)
示例#19
0
    def test_override_with_args_spec(self):
        """Test adding config options with a spec
        """
        spec = ("[section_1]\n" "a = integer(min=0, default=5, max=13)")

        conf.load(self.filename,
                  spec=([option.encode() for option in spec.split('\n')]))
        conf.override_with_args([('section_1.a', '13')])
        self.assertEqual(conf['section_1.a'], '13')
        conf.validate_config(conf.base)
        self.assertEqual(conf['section_1.a'], 13)
示例#20
0
 def test_save_no_config(self):
     """Test saving uninitialized config
     """
     conf['a'] = 12
     with tempfile.NamedTemporaryFile() as temp:
         conf.save(temp.name)
         conf.reset_instance()
         self.assertNotIn('a', conf)
         conf.load(temp.name)
         self.assertIn('a', conf)
         self.assertEqual(int(conf['a']), 12)
示例#21
0
 def test_override_with_args_wrong(self):
     """Test adding config options with a wrong spec
     """
     spec = "[section_1]\n" "a = integer(min=0, default=5, max=12)"
     expected_error = (
         r"Configuration does not adhere to the specification: "
         r"\[\(\['section_1'\], 'a', "
         r"VdtValueTooBigError\('the value \"13\" is too big.',\)\)\]"
     )
     conf.load(self.filename, spec=([option.encode() for option in spec.split("\n")]))
     conf.override_with_args([("section_1.a", "13")])
     self.assertRaisesRegexp(ValueError, expected_error, conf.validate_config, conf.base)
示例#22
0
 def test_override_with_args_wrong(self):
     """Test adding config options with a wrong spec
     """
     spec = ("[section_1]\n" "a = integer(min=0, default=5, max=12)")
     expected_error = (
         r"Configuration does not adhere to the specification: "
         r"\[\(\['section_1'\], 'a', "
         r"VdtValueTooBigError\('the value \"13\" is too big.',\)\)\]")
     conf.load(self.filename,
               spec=([option.encode() for option in spec.split('\n')]))
     conf.override_with_args([('section_1.a', '13')])
     self.assertRaisesRegexp(ValueError, expected_error,
                             conf.validate_config, conf.base)
示例#23
0
    def test_load_with_nested_spec(self):
        """Test loading a configuration with a nested specification
        """
        spec = ("[section_1]\n"
                "[[section_a]]\n"
                "a = integer(min=0, default=5)")
        conf.load(self.filename,
                  spec=(
                      [option.encode() for option in spec.split('\n')]))
        self.assertTrue('section_1.section_a.a' in conf)
        self.assertIsInstance(conf['section_1.section_a.a'], int)
        self.assertEqual(conf['section_1.section_a.a'], 5)

        self.assertTrue('section_1.a' in conf)
        self.assertIsInstance(conf['section_1.a'], str)
        self.assertEqual(conf['section_1.a'], '12')
示例#24
0
    def test_save_load_config(self):
        """Test saving and reloading conf
        """
        conf.load(self.filename)

        filename = tempfile.mkstemp()[1]
        conf.save(filename)

        # Destroy configuration
        conf.reset_instance()
        self.assertRaises(KeyError, lambda: conf["section_1.a"])

        conf.load(filename)
        a_conf = conf["section_1.a"]
        self.assertEqual(a_conf, "12")
        b_conf = conf["section_1.b"]
        self.assertEqual(b_conf, "13")
        c_conf = conf["section_2.c"]
        self.assertEqual(c_conf, "True")

        self.assertTrue(os.path.isfile(filename))
        # Clean up
        os.remove(filename)
示例#25
0
    def test_save_load_config(self):
        """Test saving and reloading conf
        """
        conf.load(self.filename)

        filename = tempfile.mkstemp()[1]
        conf.save(filename)

        # Destroy configuration
        conf.reset_instance()
        self.assertRaises(KeyError, lambda: conf['section_1.a'])

        conf.load(filename)
        a_conf = conf['section_1.a']
        self.assertEqual(a_conf, '12')
        b_conf = conf['section_1.b']
        self.assertEqual(b_conf, '13')
        c_conf = conf['section_2.c']
        self.assertEqual(c_conf, 'True')

        self.assertTrue(os.path.isfile(filename))
        # Clean up
        os.remove(filename)
示例#26
0
 def test_len(self):
     """Test the length of the config is reported correctly
     """
     conf.load(self.filename)
     self.assertEqual(len(conf), 3)
示例#27
0
 def test_keys(self):
     """Test the keys method on the configuration
     """
     self.assertEqual(list(conf.keys()), [])
     conf.load(self.filename)
     self.assertEqual(len(conf.keys()), 3)
示例#28
0
 def test_override_with_args_level2(self):
     """Test adding config options from dictionary at new level
     """
     conf.load(self.filename)
     conf.override_with_args([('section_1.section_12.a', '13')])
     self.assertEqual(conf['section_1.section_12.a'], '13')
示例#29
0
 def test_keys(self):
     """Test the keys method on the configuration
     """
     self.assertEqual(list(conf.keys()), [])
     conf.load(self.filename)
     self.assertEqual(len(conf.keys()), 3)
示例#30
0
 def test_len(self):
     """Test the length of the config is reported correctly
     """
     conf.load(self.filename)
     self.assertEqual(len(conf), 3)