示例#1
0
 def test_validate_no_choice_in_list(self):
     config = _root({'foo': None})
     with self.assertRaises(confit.ConfigValueError):
         config['foo'].get(
             confit.OneOf([
                 confit.String(),
                 confit.Integer(),
             ]))
示例#2
0
 def test_validate_first_good_choice_in_list(self):
     config = _root({'foo': 3.14})
     valid = config['foo'].get(
         confit.OneOf([
             confit.Integer(),
             confit.Number(),
         ]))
     self.assertEqual(valid, 3)
示例#3
0
 def test_validate_good_choice_in_list(self):
     config = _root({'foo': 2})
     valid = config['foo'].get(
         confit.OneOf([
             confit.String(),
             confit.Integer(),
         ]))
     self.assertEqual(valid, 2)
示例#4
0
 def test_nested_attribute_access(self):
     config = _root({
         'foo': {
             'bar': 8
         },
     })
     valid = config.get({
         'foo': {
             'bar': confit.Integer()
         },
     })
     self.assertEqual(valid.foo.bar, 8)
示例#5
0
 def test_nested_dict_template(self):
     config = _root({
         'foo': {
             'bar': 9
         },
     })
     valid = config.get({
         'foo': {
             'bar': confit.Integer()
         },
     })
     self.assertEqual(valid['foo']['bar'], 9)
示例#6
0
 def test_validate_simple_dict(self):
     config = _root({'foo': 5})
     valid = config.get({'foo': confit.Integer()})
     self.assertEqual(valid['foo'], 5)
示例#7
0
 def test_validate_individual_value(self):
     config = _root({'foo': 5})
     valid = config['foo'].get(confit.Integer())
     self.assertEqual(valid, 5)
示例#8
0
 def test_wrong_type_raises_error_on_validate(self):
     config = _root({'foo': 'bar'})
     with self.assertRaises(confit.ConfigTypeError):
         config.get({'foo': confit.Integer()})
示例#9
0
 def test_none_as_default(self):
     config = _root({})
     valid = config.get({'foo': confit.Integer(None)})
     self.assertIsNone(valid['foo'])
示例#10
0
 def test_missing_required_value_raises_error_on_validate(self):
     config = _root({})
     with self.assertRaises(confit.NotFoundError):
         config.get({'foo': confit.Integer()})
示例#11
0
 def test_attribute_access(self):
     config = _root({'foo': 5})
     valid = config.get({'foo': confit.Integer()})
     self.assertEqual(valid.foo, 5)
示例#12
0
 def test_undeclared_key_ignored_from_input(self):
     config = _root({'foo': 5, 'bar': 6})
     valid = config.get({'foo': confit.Integer()})
     with self.assertRaises(KeyError):
         valid['bar']
示例#13
0
 def test_undeclared_key_raises_keyerror(self):
     config = _root({'foo': 5})
     valid = config.get({'foo': confit.Integer()})
     with self.assertRaises(KeyError):
         valid['bar']
示例#14
0
 def test_default_value(self):
     config = _root({})
     valid = config.get({'foo': confit.Integer(8)})
     self.assertEqual(valid['foo'], 8)