Best Python code snippet using tempest_python
rest_client.py
Source:rest_client.py  
...353        for i in ('x-openstack-request-id', 'x-compute-request-id'):354            if i in resp:355                return resp[i]356        return ""357    def _get_global_request_id(self, resp):358        if 'x-openstack-request-id' in resp:359            return resp['x-openstack-request-id']360        return ''361    def _safe_body(self, body, maxlen=4096):362        # convert a structure into a string safely363        try:364            text = str(body)365        except UnicodeDecodeError:366            # if this isn't actually text, return marker that367            return "<BinaryData: removed>"368        if len(text) > maxlen:369            return text[:maxlen]370        else:371            return text372    def _log_request_start(self, method, req_url):373        caller_name = test_utils.find_test_caller()374        if self.trace_requests and re.search(self.trace_requests, caller_name):375            self.LOG.debug('Starting Request (%s): %s %s', caller_name,376                           method, req_url)377    def _log_request_full(self, resp, req_headers=None, req_body=None,378                          resp_body=None, extra=None):379        if 'X-Auth-Token' in req_headers:380            req_headers['X-Auth-Token'] = '<omitted>'381        if 'X-Subject-Token' in req_headers:382            req_headers['X-Subject-Token'] = '<omitted>'383        # A shallow copy is sufficient384        resp_log = resp.copy()385        if 'x-subject-token' in resp_log:386            resp_log['x-subject-token'] = '<omitted>'387        log_fmt = """Request - Headers: %s388        Body: %s389    Response - Headers: %s390        Body: %s"""391        self.LOG.debug(392            log_fmt,393            str(req_headers),394            self._safe_body(req_body),395            str(resp_log),396            self._safe_body(resp_body),397            extra=extra)398    def _log_request(self, method, req_url, resp,399                     secs="", req_headers=None,400                     req_body=None, resp_body=None):401        if req_headers is None:402            req_headers = {}403        # if we have the request id, put it in the right part of the log404        extra = {405            'request_id': self._get_request_id(resp),406            'global_request_id': self._get_global_request_id(resp),407        }408        # NOTE(sdague): while we still have 6 callers to this function409        # we're going to just provide work around on who is actually410        # providing timings by gracefully adding no content if they don't.411        # Once we're down to 1 caller, clean this up.412        caller_name = test_utils.find_test_caller()413        if secs:414            secs = " %.3fs" % secs415        self.LOG.info(416            'Request (%s): %s %s %s%s',417            caller_name,418            resp['status'],419            method,420            req_url,...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
