|
24 | 24 |
|
25 | 25 | import git
|
26 | 26 | import pytest
|
| 27 | +import yaml |
27 | 28 |
|
28 | 29 | from renku import cli
|
29 | 30 | from renku._compat import Path
|
|
32 | 33 | from renku.cli._format.dataset_files import FORMATS as DATASET_FILES_FORMATS
|
33 | 34 | from renku.cli._format.datasets import FORMATS as DATASETS_FORMATS
|
34 | 35 | from renku.models.refs import LinkReference
|
| 36 | +from renku.utils.datetime8601 import validate_iso8601 |
35 | 37 |
|
36 | 38 |
|
37 | 39 | def test_datasets_create_clean(data_repository, runner, project, client):
|
@@ -851,3 +853,55 @@ def test_dataset_edit_dirty(runner, client, project):
|
851 | 853 | cli.cli, ['dataset', 'edit', dataset.identifier], input='wq'
|
852 | 854 | )
|
853 | 855 | assert 0 == result.exit_code
|
| 856 | + |
| 857 | + |
| 858 | +def test_dataset_date_created_format(runner, client, project): |
| 859 | + """Check format of date created field.""" |
| 860 | + # Create a dataset. |
| 861 | + result = runner.invoke(cli.cli, ['dataset', 'create', 'dataset']) |
| 862 | + assert 0 == result.exit_code |
| 863 | + assert 'OK' in result.output |
| 864 | + |
| 865 | + path = client.dataset_path('dataset') |
| 866 | + assert path.exists() |
| 867 | + |
| 868 | + with path.open(mode='r') as fp: |
| 869 | + import dateutil.parser as dp |
| 870 | + data_yaml = yaml.safe_load(fp) |
| 871 | + |
| 872 | + assert 'created' in data_yaml |
| 873 | + assert dp.parse(data_yaml['created']) |
| 874 | + assert validate_iso8601(data_yaml['created']) |
| 875 | + |
| 876 | + |
| 877 | +def test_dataset_file_date_created_format(tmpdir, runner, client, project): |
| 878 | + """Check format of date created field.""" |
| 879 | + # Create a dataset. |
| 880 | + result = runner.invoke(cli.cli, ['dataset', 'create', 'dataset']) |
| 881 | + assert 0 == result.exit_code |
| 882 | + assert 'OK' in result.output |
| 883 | + |
| 884 | + path = client.dataset_path('dataset') |
| 885 | + assert path.exists() |
| 886 | + |
| 887 | + # Create data file. |
| 888 | + new_file = tmpdir.join('datafile.csv') |
| 889 | + new_file.write('1,2,3') |
| 890 | + |
| 891 | + # Add data to dataset. |
| 892 | + result = runner.invoke( |
| 893 | + cli.cli, ['dataset', 'add', 'dataset', |
| 894 | + str(new_file)] |
| 895 | + ) |
| 896 | + assert 0 == result.exit_code |
| 897 | + |
| 898 | + with path.open(mode='r') as fp: |
| 899 | + import dateutil.parser as dp |
| 900 | + data_yaml = yaml.safe_load(fp) |
| 901 | + |
| 902 | + assert 'created' in data_yaml |
| 903 | + assert 'files' in data_yaml |
| 904 | + assert dp.parse(data_yaml['files'][0]['added']) |
| 905 | + assert dp.parse(data_yaml['created']) |
| 906 | + assert validate_iso8601(data_yaml['created']) |
| 907 | + assert validate_iso8601(data_yaml['files'][0]['added']) |
0 commit comments