Seperating usecase test suite dependencies

  # Refactoring BulkPM Dataplane test suite

Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: I4b2ad0dc5147e10ffc55f4ec210a29f073cd865b
Issue-ID: INT-832
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
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 0000000..ed376ff
--- /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]))
diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot
new file mode 100644
index 0000000..9ef56c8
--- /dev/null
+++ b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot
@@ -0,0 +1,39 @@
+ *** Settings ***
+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
+Library           Collections
+Library           String
+
+*** Variables ***
+
+*** Keywords ***
+
+Get Event Data From File
+    [Arguments]    ${jsonfile}
+    ${data}=    OperatingSystem.Get File    ${jsonfile}
+    #Should Not Be_Equal    ${data}    None
+    [return]    ${data}
+
+Publish Event To VES Collector
+    [Documentation]    Send an event to VES Collector
+    [Arguments]     ${url}  ${evtpath}   ${httpheaders}    ${evtdata}
+    Log    Creating session ${url}
+    ${session}=    Create Session 	dcaegen2-d1 	${url}
+    ${resp}= 	Post Request 	dcaegen2-d1 	${evtpath}     data=${evtdata}   headers=${httpheaders}
+    #Log    Received response from dcae ${resp.json()}
+    [return] 	${resp}
+PostCall
+    [Arguments]    ${url}    		${data}
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
+    [Return]       ${resp}
+
+GetCall
+    [Arguments]     ${url}
+    ${resp}=    	Evaluate    requests.get('${url}')    requests
+    [Return]    	${resp}
diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py
new file mode 100644
index 0000000..b70d809
--- /dev/null
+++ b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py
@@ -0,0 +1,30 @@
+'''
+Created on Aug 18, 2017
+
+@author: sw6830
+'''
+import time
+import uuid
+
+from robot.api import logger
+
+
+class xNFLibrary(object):
+
+    def __init__(self):
+        pass
+
+    @staticmethod
+    def create_header_from_string(dict_str):
+        logger.info("Enter create_header_from_string: dictStr")
+        return dict(u.split("=") for u in dict_str.split(","))
+
+    @staticmethod
+    def Generate_UUID(self):
+        """generate a uuid"""
+        return uuid.uuid4()
+
+
+if __name__ == '__main__':
+    lib = xNFLibrary()
+    time.sleep(100000)