diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eb927fd561912a1a31a2c4083570232281b4adf..f24f8f299b0af2cf04688194e0766fd2c6b5d8fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed ### +* A bit better error handling in the yaml model parser. + ### Deprecated ### ### Removed ### diff --git a/manual_tests/test_labfolder_import.py b/manual_tests/test_labfolder_import.py index e1e9d3266478900b7fae02b3493fbc3d41ea2bd5..c767feb55cdf3958343d8d9780d01fa10c70f6ec 100644 --- a/manual_tests/test_labfolder_import.py +++ b/manual_tests/test_labfolder_import.py @@ -32,7 +32,7 @@ from caosadvancedtools.converter import labfolder_export as labfolder def main(args): """The main function.""" - model = parse_model_from_yaml("./model.yml") + model = parse_model_from_yaml("./models/model.yml") model.sync_data_model() labfolder.import_data(args.folder) diff --git a/manual_tests/test_labfolder_retrieve.py b/manual_tests/test_labfolder_retrieve.py index 8c3f12d84a8990412d0d19cd6026a3452677f943..5bbaf91d0221a402e3a39246a129413adfa5f871 100644 --- a/manual_tests/test_labfolder_retrieve.py +++ b/manual_tests/test_labfolder_retrieve.py @@ -31,7 +31,7 @@ from caosadvancedtools.converter.labfolder_api import Importer def main(args): """The main function.""" - model = parse_model_from_yaml("./model.yml") + model = parse_model_from_yaml("./models/model.yml") # model.sync_data_model() importer = Importer() diff --git a/unittests/model.yml b/unittests/models/model.yml similarity index 100% rename from unittests/model.yml rename to unittests/models/model.yml diff --git a/unittests/models/model_invalid.yml b/unittests/models/model_invalid.yml new file mode 100644 index 0000000000000000000000000000000000000000..c8368b9701db9b3461b7e0f1f3514c2411f56b56 --- /dev/null +++ b/unittests/models/model_invalid.yml @@ -0,0 +1,2 @@ +Project: + ObligatoryProperties: diff --git a/unittests/test_yaml_model_parser.py b/unittests/test_yaml_model_parser.py index 6cdea7922a8503be082e8947edecd7e8c849730b..b1177a46a90d51feb9aea0fa7c3d3d5d95cc2a7a 100644 --- a/unittests/test_yaml_model_parser.py +++ b/unittests/test_yaml_model_parser.py @@ -511,3 +511,11 @@ R3: # Until removal, both do the same assert has_parent(r3, par) assert r3.get_parent(par)._flags["inheritance"] == db.OBLIGATORY + + +def test_yaml_error(): + """Testing error while parsing a yaml. + """ + + with raises(ValueError, match=r"line 2: .*"): + parse_model_from_yaml("unittests/models/model_invalid.yml")