From 3029ba2dad748895187560a2551c4cd8c89070e6 Mon Sep 17 00:00:00 2001 From: Daniel Pauler Date: Sat, 20 Mar 2021 17:07:35 +0100 Subject: [PATCH 1/4] Added vscode config folder --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 0ac3d08ff8..46020d2814 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ detections/*/.yml.example stories/*.yml.example tests/*/*.yml.example +# IDE +.vscode/ + # usual mac files .DS_Store #vim files From a48e0fcdbb4a8e90b1c34f4482943835f1aab726 Mon Sep 17 00:00:00 2001 From: Daniel Pauler Date: Sat, 20 Mar 2021 17:09:48 +0100 Subject: [PATCH 2/4] Fixed error handling --- bin/validate.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/validate.py b/bin/validate.py index aebb7fe608..9c497e386f 100644 --- a/bin/validate.py +++ b/bin/validate.py @@ -70,7 +70,7 @@ def validate_objects(REPO_PATH, objects, verbose): errors = [] for lookup in objects['lookups']: - lookup_errors = validate_lookups_content(REPO_PATH, "lookups/%s", lookup) + errors = errors + validate_lookups_content(REPO_PATH, "lookups/%s", lookup) objects_array = objects['stories'] + objects['detections'] + objects['baselines'] + objects['response_tasks'] + objects['responses'] for object in objects_array: @@ -89,8 +89,6 @@ def validate_objects(REPO_PATH, objects, verbose): for object in objects['tests']: errors = errors + validate_tests(REPO_PATH, object) - errors = lookup_errors + errors - return errors From 70e25e225a7d7f5cf0ec21c8f0fb5037ac552c6a Mon Sep 17 00:00:00 2001 From: Daniel Pauler Date: Sat, 20 Mar 2021 17:18:43 +0100 Subject: [PATCH 3/4] Updated jsonschema validation --- bin/validate.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/validate.py b/bin/validate.py index 9c497e386f..5d9a5d5636 100644 --- a/bin/validate.py +++ b/bin/validate.py @@ -85,7 +85,6 @@ def validate_objects(REPO_PATH, objects, verbose): for object in objects['baselines']: errors = errors + validate_baseline_search(object, objects['macros']) - for object in objects['tests']: errors = errors + validate_tests(REPO_PATH, object) From 7a9f57dbfc0e8b3f25ce5d572bdd5c9ac0ec4019 Mon Sep 17 00:00:00 2001 From: Daniel Pauler Date: Sat, 20 Mar 2021 17:22:42 +0100 Subject: [PATCH 4/4] Updated jsonschema validation --- bin/validate.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/validate.py b/bin/validate.py index 5d9a5d5636..d0da8ab741 100644 --- a/bin/validate.py +++ b/bin/validate.py @@ -47,10 +47,10 @@ def validate_schema(REPO_PATH, type, objects, verbose): print("Error reading {0}".format(manifest_file)) error = True continue - try: - jsonschema.validate(instance=object, schema=schema) - except jsonschema.exceptions.ValidationError as json_ve: - errors.append("ERROR: {0} at:\n\t{1}".format(json.dumps(json_ve.message), manifest_file)) + + validator = jsonschema.Draft7Validator(schema, format_checker=jsonschema.FormatChecker()) + for schema_error in validator.iter_errors(object): + errors.append("ERROR: {0} at:\n\t{1}".format(json.dumps(schema_error.message), manifest_file)) error = True if type in objects: