X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FHTTPRequest.py;h=869078bca307e56ca5df7e5c694ce7de9c9a95ad;hp=adf3d168eb67cb253ee57664b1a668eb3e9a16bc;hb=df228e1794d4a5a1c3028e1e214731b5f0450b99;hpb=4f4eaa1d52f3bdbe3caecdc1d6a024c369a2834a diff --git a/resources/libraries/python/HTTPRequest.py b/resources/libraries/python/HTTPRequest.py index adf3d168eb..869078bca3 100644 --- a/resources/libraries/python/HTTPRequest.py +++ b/resources/libraries/python/HTTPRequest.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2017 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -18,6 +18,7 @@ The HTTP requests are implemented in the class HTTPRequest which uses requests.request. """ +from ipaddress import IPv6Address, AddressValueError from enum import IntEnum, unique from robot.api.deco import keyword @@ -115,6 +116,14 @@ class HTTPRequest(object): :return: Full url. :rtype: str """ + + try: + IPv6Address(unicode(ip_addr)) + # IPv6 address must be in brackets + ip_addr = "[{0}]".format(ip_addr) + except (AttributeError, AddressValueError): + pass + return "http://{ip}:{port}{path}".format(ip=ip_addr, port=port, path=path) @@ -170,9 +179,12 @@ class HTTPRequest(object): """ timeout = kwargs["timeout"] - if BuiltIn().get_variable_value("${use_odl_client}"): - # TODO: node["honeycomb"]["odl_port"] + use_odl = BuiltIn().get_variable_value("${use_odl_client}") + + if use_odl: port = 8181 + # Using default ODL Restconf port + # TODO: add node["honeycomb"]["odl_port"] to topology, use it here odl_url_part = "/network-topology:network-topology/topology/" \ "topology-netconf/node/vpp/yang-ext:mount" else: @@ -190,7 +202,7 @@ class HTTPRequest(object): try: auth = HTTPBasicAuth(node['honeycomb']['user'], node['honeycomb']['passwd']) - rsp = request(method, url, auth=auth, **kwargs) + rsp = request(method, url, auth=auth, verify=False, **kwargs) logger.debug("Status code: {0}".format(rsp.status_code)) logger.debug("Response: {0}".format(rsp.content)) @@ -219,7 +231,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Get") - def get(node, path, headers=None, timeout=10, enable_logging=True): + def get(node, path, headers=None, timeout=15, enable_logging=True): """Sends a GET request and returns the response and status code. :param node: Honeycomb node. @@ -245,7 +257,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Put") - def put(node, path, headers=None, payload=None, json=None, timeout=10): + def put(node, path, headers=None, payload=None, json=None, timeout=15): """Sends a PUT request and returns the response and status code. :param node: Honeycomb node. @@ -271,7 +283,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Post") - def post(node, path, headers=None, payload=None, json=None, timeout=10, + def post(node, path, headers=None, payload=None, json=None, timeout=15, enable_logging=True): """Sends a POST request and returns the response and status code. @@ -303,7 +315,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Delete") - def delete(node, path, timeout=10): + def delete(node, path, timeout=15): """Sends a DELETE request and returns the response and status code. :param node: Honeycomb node.