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"
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)]