Exemple #1
0
    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)
Exemple #2
0
    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
Exemple #3
0
    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]
Exemple #4
0
    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
Exemple #5
0
 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)