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')
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}
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)
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
def test_setdefault(self): schema = Schema() field = Field() field.__setdefault__ = MagicMock() schema.x = field config = schema() field.__setdefault__.assert_called_once_with(config)
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')