The resulting error message is not particularly pretty but it does convey the necessary information a user needs if they were to run the test on a spreadsheet with non-matching sequence file names. Especially if only some but not all file names are non-matching. For example:
Error message:
(graph-validator) C02ZL0J4LVDN:ingest-graph-validator ami$ ingest-graph-validator action test graph_test_set 20-09-08 12:16:14 [ingest_graph_validator.ingest_graph_validator] - INFO: attached to backend container [neo4j-server] 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: loading tests 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: found 20 test files 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: loaded 20 test queries 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: running tests 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - ERROR: test file_format_in_file_name.adoc failed: non-empty result. 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - ERROR: result: [{'f.file_core.file_name': 'SRR7895954_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895954_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895955_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895955_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895956_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895956_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895957_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895957_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895958_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895958_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895959_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895959_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895960_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895960_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895961_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895961_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895962_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895962_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895963_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895963_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895964_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895964_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895965_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895965_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895966_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895966_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895967_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.file_core.file_name': 'SRR7895967_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}]
Added a test for matching sequence_file name suffix and format. Description is here: https://github.com/ebi-ait/ingest-graph-validator/issues/16
Test spreadsheet: To test the new test works, I found a spreadsheet that passes all other tests and then modified it to remove ".gz." from the sequence_file.file_core.format column values. it is located here: https://docs.google.com/spreadsheets/d/1ppC9Y_VuVqs8bdNtw84VaqiqFZ2mT77b/edit#gid=1643852058
The resulting error message is not particularly pretty but it does convey the necessary information a user needs if they were to run the test on a spreadsheet with non-matching sequence file names. Especially if only some but not all file names are non-matching. For example:
Error message:
(graph-validator) C02ZL0J4LVDN:ingest-graph-validator ami$ ingest-graph-validator action test graph_test_set 20-09-08 12:16:14 [ingest_graph_validator.ingest_graph_validator] - INFO: attached to backend container [neo4j-server] 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: loading tests 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: found 20 test files 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: loaded 20 test queries 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - INFO: running tests 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - ERROR: test file_format_in_file_name.adoc failed: non-empty result. 20-09-08 12:16:15 [ingest_graph_validator.actions.test_action] - ERROR: result: [{'f.
file_core.file_name': 'SRR7895954_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895954_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895955_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895955_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895956_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895956_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895957_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895957_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895958_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895958_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895959_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895959_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895960_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895960_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895961_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895961_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895962_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895962_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895963_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895963_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895964_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895964_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895965_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895965_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895966_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895966_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895967_1.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}, {'f.
file_core.file_name': 'SRR7895967_2.fastq.gz', '"File format doesn\'t match filename"': "File format doesn't match filename"}]