diff --git a/Dockerfile b/Dockerfile index ff34993..488d25c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ COPY . /git/ RUN find . -type d -name .git -exec git describe --always --dirty > /git-version.txt \; -FROM python:3.13 +FROM python:3.8 EXPOSE 8080 diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 7190a60..0000000 --- a/renovate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json" -} diff --git a/requirements.txt b/requirements.txt index 2d455a1..b803341 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -tornado==6.5.1 -isodate==0.7.2 -pytest==8.4.0 -GitPython==3.1.44 \ No newline at end of file +tornado==6.0.4 +isodate==0.6.0 +pytest==5.4.1 +GitPython==3.1.12 \ No newline at end of file diff --git a/validators/test_validators.py b/validators/test_validators.py new file mode 100644 index 0000000..b959892 --- /dev/null +++ b/validators/test_validators.py @@ -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 diff --git a/validators/validators.py b/validators/validators.py new file mode 100644 index 0000000..aadab3e --- /dev/null +++ b/validators/validators.py @@ -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