Exemple #1
0
    def test_validator(self):
        param = Parameter(name='test', default=[1, 2, 3, 4])
        assert param._validator is None

        valid = mk.MagicMock()
        param.validator(valid)
        assert param._validator == valid

        with pytest.raises(ValueError) as err:
            param.validator(mk.NonCallableMagicMock())
        assert str(err.value) == \
            "This decorator method expects a callable.\n" +\
            "The use of this method as a direct validator is\n" +\
            "deprecated; use the new validate method instead\n"
Exemple #2
0
    def test_validate(self):
        param = Parameter(name='test', default=[1, 2, 3, 4])
        assert param._validator is None
        assert param.model is None

        # Run without validator
        param.validate(mk.MagicMock())

        # Run with validator but no Model
        validator = mk.MagicMock()
        param.validator(validator)
        assert param._validator == validator
        param.validate(mk.MagicMock())
        assert validator.call_args_list == []

        # Full validate
        param._model = mk.MagicMock()
        value = mk.MagicMock()
        param.validate(value)
        assert validator.call_args_list == [mk.call(param._model, value)]