Exemple #1
0
 def test_setdefault_env_not_exists(self, mock_environ_get):
     mock_environ_get.return_value = None
     retval = object()
     cfg = Config(schema=Schema())
     field = Field(env='ASDF', key='field')
     field._default = retval
     field.__setdefault__(cfg)
     assert cfg._data == {'field': retval}
     mock_environ_get.assert_called_once_with('ASDF')
Exemple #2
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 #3
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