1
0
mirror of https://github.com/ilri/csv-metadata-quality.git synced 2025-05-08 14:16:00 +02:00

Add date validation

I'm only concerned with validating issue dates here. In DSpace they
are generally always YYYY, YYY-MM, or YYYY-MM-DD (though in theory
they could be any valid ISO8601 format).

This also checks for cases where the date is missing and where the
metadata has specified multiple dates like "1990||1991", as this is
valid, but there is no practical value for it in our system.
This commit is contained in:
2019-07-28 16:11:36 +03:00
parent 73b4061c7b
commit 196bb434fa
3 changed files with 100 additions and 0 deletions

View File

@ -62,3 +62,46 @@ def test_check_valid_separators():
result = check.separators(value)
assert result == value
def test_check_missing_date(capsys):
'''Test checking missing date.'''
value = None
check.date(value)
captured = capsys.readouterr()
assert captured.out == f'Missing date.\n'
def test_check_multiple_dates(capsys):
'''Test checking multiple dates.'''
value = '1990||1991'
check.date(value)
captured = capsys.readouterr()
assert captured.out == f'Multiple dates not allowed: {value}\n'
def test_check_invalid_date(capsys):
'''Test checking invalid ISO8601 date.'''
value = '1990-0'
check.date(value)
captured = capsys.readouterr()
assert captured.out == f'Invalid date: {value}\n'
def test_check_valid_date():
'''Test checking valid ISO8601 date.'''
value = '1990'
result = check.date(value)
assert result == value