diff options
Diffstat (limited to 'robotframework-onap/ONAPLibrary/RequestsHelper.py')
-rw-r--r-- | robotframework-onap/ONAPLibrary/RequestsHelper.py | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/robotframework-onap/ONAPLibrary/RequestsHelper.py b/robotframework-onap/ONAPLibrary/RequestsHelper.py index 3db6100..f818c54 100644 --- a/robotframework-onap/ONAPLibrary/RequestsHelper.py +++ b/robotframework-onap/ONAPLibrary/RequestsHelper.py @@ -13,15 +13,20 @@ # limitations under the License. from ONAPLibrary.UUIDKeywords import UUIDKeywords +from RequestsLibrary import RequestsLibrary +from robot.api import logger +import hashlib +from ONAPLibrary.Base64Keywords import Base64Keywords class RequestsHelper(object): - """ non keywords methods related to Requests library """ + """ non keyword methods related to Requests library """ def __init__(self): super(RequestsHelper, self).__init__() self.uuid = UUIDKeywords() self.application_id = "robot-ete" + self.requests = RequestsLibrary() def create_headers(self, sdc_user_id=None, accept="application/json", content_type="application/json", md5=None): """Create the headers that are used by onap""" @@ -37,3 +42,43 @@ class RequestsHelper(object): if not md5: headers["Content-MD5"] = md5 return headers + + def get_request(self, alias, endpoint, data_path, sdc_user=None, accept="application/json", auth=None): + """Runs a get request""" + logger.info("Creating session" + endpoint) + self.requests.create_session(alias, endpoint, auth=auth) + headers = self.create_headers(sdc_user_id=sdc_user, accept=accept) + resp = self.requests.get_request(alias, data_path, headers=headers) + logger.info("Received response from [" + alias + "]: " + resp.text) + return resp + + def post_request(self, alias, endpoint, data_path, data, sdc_user=None, files=None, accept="application/json", + content_type="application/json", auth=None): + """Runs a post request""" + logger.info("Creating session" + endpoint) + md5 = hashlib.md5() + md5.update(data) + md5checksum = Base64Keywords().base64_encode(md5.hexdigest()) + self.requests.create_session(alias, endpoint, auth=auth) + headers = self.create_headers(sdc_user_id=sdc_user, accept=accept, content_type=content_type, md5=md5checksum) + resp = self.requests.post_request(alias, data_path, files=files, data=data, headers=headers) + logger.info("Received response from [" + alias + "]: " + resp.text) + return resp + + def put_request(self, alias, endpoint, data_path, data, sdc_user=None, accept="application/json", auth=None): + """Runs a put request""" + logger.info("Creating session" + endpoint) + self.requests.create_session(alias, endpoint, auth=auth) + headers = self.create_headers(sdc_user_id=sdc_user, accept=accept) + resp = self.requests.put_request(alias, data_path, data=data, headers=headers) + logger.info("Received response from [" + alias + "]: " + resp.text) + return resp + + def delete_request(self, alias, endpoint, data_path, data=None, sdc_user=None, accept="application/json", auth=None): + """Runs a delete request""" + logger.info("Creating session" + endpoint) + self.requests.create_session(alias, endpoint, auth=auth) + headers = self.create_headers(sdc_user_id=sdc_user, accept=accept) + resp = self.requests.delete_request(alias, data_path, data=data, headers=headers) + logger.info("Received response from [" + alias + "]: " + resp.text) + return resp |