Esempio n. 1
0
def test_present():
    Validated = Unicode.validated_by([Present()])
    unicode = Validated(u"foobar")
    assert unicode.validate()
    assert not unicode.errors

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"May not be blank."]
Esempio n. 2
0
def test_longer_than():
    Validated = Unicode.validated_by([LongerThan(3)])
    unicode = Validated(u"abcd")
    assert unicode.validate()
    assert not unicode.errors

    unicode = Validated(u"abc")
    assert not unicode.validate()
    assert unicode.errors == [u"Must be longer than 3."]

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"Must be longer than 3."]
Esempio n. 3
0
def test_shorter_than():
    Validated = Unicode.validated_by([ShorterThan(3)])
    unicode = Validated(u"ab")
    assert unicode.validate()
    assert not unicode.errors

    unicode = Validated(u"abc")
    assert not unicode.validate()
    assert unicode.errors == [u"Must be shorter than 3."]

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"Must be shorter than 3."]
Esempio n. 4
0
def test_matches_regex():
    Validated = Unicode.validated_by([MatchesRegex(u'^foo$')])
    element = Validated(u'foo')
    assert element.validate()
    assert not element.errors

    element = Validated(u'bar')
    assert not element.validate()
    assert element.errors == [u'Must be a valid value.']

    element = Validated()
    assert not element.validate()
    assert element.errors == [u'Must be a valid value.']
Esempio n. 5
0
def test_contained_in():
    Validated = Unicode.validated_by([ContainedIn([u"foo", u"bar"])])
    for value in [u"foo", u"bar"]:
        unicode = Validated(value)
        assert unicode.validate()
        assert not unicode.errors

    unicode = Validated(u"baz")
    assert not unicode.validate()
    assert unicode.errors == [u"Not a valid value."]

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"Not a valid value."]
Esempio n. 6
0
def test_length_within_range():
    Validated = Unicode.validated_by([LengthWithinRange(3, 6)])
    unicode = Validated(u"abcd")
    assert unicode.validate()
    assert not unicode.errors

    for value in [u"abc", u"abcdef"]:
        unicode = Validated(value)
        assert not unicode.validate()
        assert unicode.errors == [u"Must be longer than 3 and shorter than 6."]

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"Must be longer than 3 and shorter than 6."]
Esempio n. 7
0
def test_is_url():
    Validated = Unicode.validated_by([IsURL()])
    element = Validated(u'http://example.com')
    assert element.validate()
    assert not element.errors

    invalid_urls = [u'example.com', u'http://']
    for invalid_url in invalid_urls:
        element = Validated(invalid_url)
        assert not element.validate()
        assert element.errors == ['Must be a URL.']

    element = Validated()
    assert not element.validate()
    assert element.errors == ['Must be a URL.']
Esempio n. 8
0
def test_is_false():
    Validated = Unicode.validated_by([IsFalse()])
    unicode = Validated(u"")
    assert not unicode.validate()
    assert unicode.errors == [u"Must be false."]

    unicode = Validated(u"foobar")
    assert not unicode.validate()
    assert unicode.errors == [u"Must be false."]

    unicode = Validated()
    assert not unicode.validate()
    assert unicode.errors == [u"Must be false."]

    integer = Integer.validated_by([IsFalse()])("foobar")
    assert not integer.validate()
    assert integer.errors == [u"Must be false."]
Esempio n. 9
0
def test_probably_an_email_address():
    Validated = Unicode.validated_by([ProbablyAnEmailAddress()])
    email = Validated(u"*****@*****.**")
    assert email.validate()
    assert not email.errors

    invalid_addresses = [
        u"foobar",  # @ missing
        u"foo@bar",  # tld missing
    ]
    for invalid_address in invalid_addresses:
        email = Validated(invalid_address)
        assert not email.validate()
        assert email.errors == [u"Must be a valid e-mail address."]

    email = Validated()
    assert not email.validate()
    assert email.errors == [u"Must be a valid e-mail address."]