Spaces:
Sleeping
Sleeping
File size: 1,877 Bytes
4bcfb6c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import pytest
from input_handling import is_valid_email
# generate tests for is_valid_email
# - test with valid email
# - basic email with @ and .
# - test with email with multiple .
# - test with empty email
# - test with None email
# - test with non-string email
# - test with invalid email
# - test with email without @
# - test with email without .
# - test with email without domain
# - test with email without username
# - test with email without TLD
# - test with email with multiple @
# - test with email starting with the + sign
def test_is_valid_email_valid():
assert is_valid_email("[email protected]")
assert is_valid_email("[email protected]")
assert is_valid_email("[email protected]")
assert is_valid_email("[email protected]")
assert is_valid_email("[email protected]")
def test_is_valid_email_empty():
assert not is_valid_email("")
def test_is_valid_email_none():
with pytest.raises(TypeError):
is_valid_email(None)
def test_is_valid_email_non_string():
with pytest.raises(TypeError):
is_valid_email(123)
def test_is_valid_email_invalid():
assert not is_valid_email("a.bc")
assert not is_valid_email("a@bc")
assert not is_valid_email("a.b@cc")
assert not is_valid_email("@b.cc")
assert not is_valid_email("[email protected]")
assert not is_valid_email("a@b.")
assert not is_valid_email("a@bb.")
assert not is_valid_email("[email protected].")
assert not is_valid_email("a@[email protected]")
# not sure how xfails come through the CI pipeline yet.
# maybe better to just comment out this stuff until pipeline is setup, then can check /extend
#@pytest.mark.xfail(reason="Bug identified, but while setting up CI having failing tests causes more headache")
#def test_is_valid_email_invalid_plus():
# assert not is_valid_email("[email protected]")
# assert not is_valid_email("[email protected]")
|