aboutsummaryrefslogtreecommitdiffstats
path: root/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2020-05-13 06:39:46 +0000
committerGerrit Code Review <gerrit@onap.org>2020-05-13 06:39:46 +0000
commit0387b3b7a9dd64cb062bb224083a8bae28b6b042 (patch)
treef0660d375ce95e030286898bcbb891d1d26c8c14 /tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py
parentf93a9e6d67b8cb59e64362c44f13f5ddc2cbe112 (diff)
parent125390ba301915c0829ad4c0b7eff0c935b6956c (diff)
Merge "Seperating usecase test suite dependencies"
Diffstat (limited to 'tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py')
-rw-r--r--tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py
new file mode 100644
index 00000000..ed376ff2
--- /dev/null
+++ b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+import logging
+
+from jsonschema import validate, ValidationError, SchemaError
+from simplejson import load
+
+
+class JsonValidatorLibrary(object):
+
+ def __init__(self):
+ pass
+
+ @staticmethod
+ def validate(schema_path, json_path):
+ logging.info("Schema path: " + schema_path)
+ logging.info("JSON path: " + json_path)
+ schema = None
+ data = None
+ try:
+ schema = load(open(schema_path, 'r'))
+ data = load(open(json_path, 'r'))
+ except (IOError, ValueError, OSError) as e:
+ logging.error(e.message)
+ return 1
+
+ try:
+ validate(data, schema)
+ except (ValidationError, SchemaError) as e:
+ logging.error(e.message)
+ return 1
+
+ # logger.log("JSON validation successful")
+ print("JSON validation successful")
+ return 0
+
+
+if __name__ == '__main__':
+ lib = JsonValidatorLibrary()
+# sys.exit(JsonValidatorLibrary().validate(sys.argv[1], sys.argv[2]))