示例#1
0
    def test_make_yaql_validator(self):
        mock_validator_property = mock.MagicMock()
        mock_validator_property.__getitem__().spec.evaluate.return_value = True
        mock_validator_property.get.return_value = 'foo_message'

        validator_func = fields.make_yaql_validator(mock_validator_property)
        self.assertTrue(hasattr(validator_func, '__call__'))
        validator_func('bar')
        mock_validator_property.__getitem__().spec.evaluate.\
            assert_called_once_with(context=mock.ANY)
示例#2
0
    def test_make_yaql_validator_except_validation_error(self):
        mock_validator_property = mock.MagicMock()
        mock_validator_property.__getitem__().spec.evaluate.return_value =\
            False
        mock_validator_property.get.return_value = 'foo_message'

        validator_func = fields.make_yaql_validator(mock_validator_property)
        self.assertTrue(hasattr(validator_func, '__call__'))
        e = self.assertRaises(forms.ValidationError, validator_func, 'bar')
        self.assertEqual('foo_message', e.message)
    def finalize_fields(self):
        for field_name, field in six.iteritems(self.fields):
            field.form = self

            validators = []
            for v in field.validators:
                expr = isinstance(v, dict) and v.get('expr')
                if expr and isinstance(expr, fields.RawProperty):
                    v = fields.make_yaql_validator(v)
                validators.append(v)
            field.validators = validators