def test_validate_feature_flag_disabled(self): cfg = MagicMock() schema = Schema() schema._validators.append(MagicMock(side_effect=ValueError())) schema._is_feature_enabled = MagicMock(return_value=False) schema._validate(cfg) schema._is_feature_enabled.assert_called_once_with(cfg)
def test_validate_ignore_methods(self): getter = MagicMock() schema = Schema() schema.x = InstanceMethodField(getter) schema.x.__getval__ = MagicMock() config = schema() schema._validate(config) assert not schema.x.__getval__.called
def test_validate_collect_errors(self): schema_error = ValidationError(None, None, None) field_error = ValidationError(None, None, None) schema = Schema() schema._validators.append(MagicMock(side_effect=schema_error)) schema.x = Field() schema.x.validate = MagicMock(side_effect=field_error) config = schema() errors = schema._validate(config, collect_errors=True) assert errors == [field_error, schema_error]
def test_validate_collect_errors_other(self): schema_error = ValueError() field_error = ValueError() schema = Schema() schema._validators.append(MagicMock(side_effect=schema_error)) schema.x = Field() schema.x.validate = MagicMock(side_effect=field_error) config = schema() errors = schema._validate(config, collect_errors=True) assert len(errors) == 2 assert isinstance(errors[0], ValidationError) assert errors[0].exc is field_error assert isinstance(errors[1], ValidationError) assert errors[1].exc is schema_error
def test_validate_collect_errors(self): schema = Schema() schema._validate = MagicMock() config = schema() config.validate(collect_errors=True) schema._validate.assert_called_once_with(config, collect_errors=True)