コード例 #1
0
def test_missing_related():
    validator = ModelValidator(ComplexPerson(name='tim', gender='M'))

    valid = validator.validate({'organization': 999})
    assert not valid
    assert validator.errors['organization'] == 'unable to find related object'

    valid = validator.validate()
    assert not valid
    assert validator.errors['organization'] == 'must be provided'
コード例 #2
0
def test_choices():
    validator = ModelValidator(ComplexPerson(name='tim'))

    valid = validator.validate({'organization': 1, 'gender': 'S'})
    assert not valid
    assert validator.errors['gender'] == DEFAULT_MESSAGES['one_of'].format(
        choices='M, F')
    assert 'name' not in validator.errors

    valid = validator.validate({'organization': 1, 'gender': 'M'})
    assert valid
コード例 #3
0
def test_choices():
    validator = ModelValidator(ComplexPerson(name='tim'))

    valid = validator.validate({'organization': 1, 'gender': 'S'})
    assert not valid
    assert validator.errors['gender'] == 'must be one of the choices: M, F'
    assert 'name' not in validator.errors

    valid = validator.validate({'organization': 1, 'gender': 'M'})
    assert valid

    valid = validator.validate({'gender': 'M'})
    assert valid
コード例 #4
0
def test_related_optional_missing():
    validator = ModelValidator(
        ComplexPerson(name='tim', gender='M', organization=1))

    valid = validator.validate({'pay_grade': 999})
    assert not valid
    assert validator.errors['pay_grade'] == DEFAULT_MESSAGES['related'].format(
        field='id', values=999)

    valid = validator.validate({'pay_grade': None})
    assert valid

    valid = validator.validate()
    assert valid
コード例 #5
0
def test_related_required_missing():
    validator = ModelValidator(ComplexPerson(name='tim', gender='M'))

    valid = validator.validate({'organization': 999})
    assert not valid
    assert validator.errors['organization'] == DEFAULT_MESSAGES[
        'related'].format(field='id', values=999)

    valid = validator.validate({'organization': None})
    assert not valid
    assert validator.errors['organization'] == DEFAULT_MESSAGES['required']

    valid = validator.validate()
    assert not valid
    assert validator.errors['organization'] == DEFAULT_MESSAGES['required']
コード例 #6
0
def test_related_optional_dict_missing():
    validator = ModelValidator(
        ComplexPerson(name='tim', gender='M', organization=1))
    valid = validator.validate({'pay_grade': {}})
    assert valid
コード例 #7
0
def test_related_required_dict_missing():
    validator = ModelValidator(ComplexPerson(name='tim', gender='M'))
    validator.validate({'organization': {}})
    assert validator.errors['organization'] == DEFAULT_MESSAGES['required']
コード例 #8
0
def test_related_required_dict():
    org = Organization.create(name='new1')
    validator = ModelValidator(ComplexPerson(name='tim', gender='M'))
    valid = validator.validate({'organization': {'id': org.id}})
    assert valid