Exemple #1
0
 def test_setdefault_env_exists(self, mock_environ_get):
     retval = mock_environ_get.return_value = object()
     cfg = Config(schema=Schema())
     field = Field(env='ASDF', key='field')
     field.__setdefault__(cfg)
     assert cfg._data == {'field': retval}
     mock_environ_get.assert_called_once_with('ASDF')
Exemple #2
0
 def test_setdefault_env_exists_valid(self, mock_environ_get):
     env = mock_environ_get.return_value = object()
     retval = object()
     cfg = Config(schema=Schema())
     field = Field(env='ASDF', key='field')
     field.validate = MagicMock(return_value=retval)
     field.__setdefault__(cfg)
     field.validate.assert_called_once_with(cfg, env)
     assert cfg._data == {'field': retval}
Exemple #3
0
    def test_setdefault_env_exists_invalid(self, mock_environ_get):
        env = mock_environ_get.return_value = object()
        retval = object()
        cfg = Config(schema=Schema())
        field = Field(env='ASDF', key='field')
        field.validate = MagicMock(side_effect=ValueError())
        field._default = retval
        with pytest.raises(ValidationError):
            field.__setdefault__(cfg)

        field.validate.assert_called_once_with(cfg, env)
Exemple #4
0
    def test_setdefault_env_exists_invalid_validationerror(self, mock_environ_get):
        env = mock_environ_get.return_value = object()
        retval = object()
        cfg = Config(schema=Schema())
        field = Field(env='ASDF', key='field')
        err = ValidationError(cfg, field, ValueError('asdf'))
        field.validate = MagicMock(side_effect=err)
        field._default = retval
        with pytest.raises(ValidationError) as exc:
            field.__setdefault__(cfg)

        assert exc.value is err
Exemple #5
0
    def test_setdefault(self):
        schema = Schema()
        field = Field()
        field.__setdefault__ = MagicMock()
        schema.x = field

        config = schema()
        field.__setdefault__.assert_called_once_with(config)
Exemple #6
0
 def test_setdefault(self):
     field = Field(key='key', default='hello')
     field.__setdefault__(self.cfg)
     self.cfg._set_default_value.assert_called_once_with('key', 'hello')