add validator functions and tests
This commit is contained in:
parent
a72ff4b06c
commit
56b8d9def0
2 changed files with 71 additions and 0 deletions
37
validators/test_validators.py
Normal file
37
validators/test_validators.py
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
from validators import mandatory, empty, iso_date, valid_iban, valid_bic
|
||||||
|
|
||||||
|
|
||||||
|
def test_mandatory():
|
||||||
|
assert mandatory("Foo") == True
|
||||||
|
assert mandatory("Foo Bar") == True
|
||||||
|
assert mandatory("1970-01-01") == True
|
||||||
|
assert mandatory("") == False
|
||||||
|
|
||||||
|
|
||||||
|
def test_empty():
|
||||||
|
assert empty("") == True
|
||||||
|
assert empty(" ") == False
|
||||||
|
assert empty("Foo") == False
|
||||||
|
assert empty("1970-01-01") == False
|
||||||
|
|
||||||
|
|
||||||
|
def test_iso_date():
|
||||||
|
assert iso_date("1970-01-01") == True
|
||||||
|
assert iso_date("1970-1-1") == True
|
||||||
|
assert iso_date("70-01-01") == False
|
||||||
|
assert iso_date("1970/01/01") == False
|
||||||
|
assert iso_date("1.1.1970") == False
|
||||||
|
assert iso_date("01.01.1970") == False
|
||||||
|
|
||||||
|
|
||||||
|
def test_valid_iban():
|
||||||
|
assert valid_iban("DE89 3704 0044 0532 0130 00") == True
|
||||||
|
assert valid_iban("DX89 3704 0044 0532 0130 00") == False
|
||||||
|
assert valid_iban("DE99 3704 0044 0532 0130 00") == False
|
||||||
|
|
||||||
|
|
||||||
|
def test_valid_bic():
|
||||||
|
assert valid_bic("PBNKDEFFXXX") == True
|
||||||
|
assert valid_bic("PBNKDXFFXXX") == False
|
||||||
|
assert valid_bic("PBNKDXFFXXXX") == False
|
||||||
|
assert valid_bic("PBN1DXFFXXX") == False
|
34
validators/validators.py
Normal file
34
validators/validators.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import datetime
|
||||||
|
from schwifty import IBAN, BIC
|
||||||
|
|
||||||
|
|
||||||
|
def mandatory(field: str) -> bool:
|
||||||
|
return bool(field)
|
||||||
|
|
||||||
|
|
||||||
|
def empty(field: str) -> bool:
|
||||||
|
return not bool(field)
|
||||||
|
|
||||||
|
|
||||||
|
def iso_date(field: str) -> bool:
|
||||||
|
try:
|
||||||
|
datetime.datetime.strptime(field, "%Y-%m-%d")
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def valid_iban(field: str) -> bool:
|
||||||
|
try:
|
||||||
|
IBAN(field)
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def valid_bic(field: str) -> bool:
|
||||||
|
try:
|
||||||
|
BIC(field)
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
Loading…
Reference in a new issue