diff --git a/tests/usecases/5G-bulkpm/resources/JsonValidatorLibrary.py b/tests/usecases/5G-bulkpm/resources/JsonValidatorLibrary.py
new file mode 100644
index 0000000..12d5d85
--- /dev/null
+++ b/tests/usecases/5G-bulkpm/resources/JsonValidatorLibrary.py
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+
+import sys
+import logging
+from simplejson import load
+from jsonschema import validate, ValidationError, SchemaError
+
+
+class JsonValidatorLibrary(object):
+
+    def __init__(self):
+        pass
+
+    def validate(self, schemaPath, jsonPath):
+        logging.info("Schema path: " + schemaPath)
+        logging.info("JSON path: " + jsonPath)
+        schema = None
+        data = None
+        try:
+            schema = load(open(schemaPath, 'r'))
+            data = load(open(jsonPath, '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]))
diff --git a/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot b/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot
index 6859ea0..9ef56c8 100644
--- a/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot
+++ b/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot
@@ -2,6 +2,7 @@
 Documentation     The main interface for interacting with VES. It handles low level stuff like managing the http request library and VES required fields
 Library 	      RequestsLibrary
 Library	          ../resources/xNFLibrary.py
+Library           ../resources/JsonValidatorLibrary.py
 Library           OperatingSystem
 Library           Collections
 Library           requests
