def run(self): method = self.http_method url = self.full_url_path logger.info("Making request %s %s", method, url) response = requests.request( method, url, headers=self.headers, params=self.params, json=self.body, allow_redirects=False, ) self.endpoint.vars.update( self.spec.get(VARS_KEY, {}), extras={"response": response}, preevaluate=True, ) tests_results = self._run_tests() hide_sensitive_info(response) return { "response": response, "tests_results": tests_results, "no_failure": all( [ test_result["status"] == TestStatus.PASSED for test_result in tests_results ] ), }
def run(self): """Make HTTP requests and generating test results for the given URLs. Returns: [dict]: HTTP response and test results with request node name, to be used by the report template. """ time.sleep(self.delay / 1000) method = self.http_method url = self.full_url_path console.print(f"\n- Making request {method} {url}", highlight=False) self.endpoint.spec_vars.update( self.spec.get(VARS_KEY, {}), extras=dict(self.endpoint.spec_vars), filter_responses=True, ) session = session_with_retry(self.retry) response = session.request( method, url, headers=self.headers, params=self.params, json=self.body, allow_redirects=False, **self.options, ) extras = dict(self.endpoint.spec_vars) extras["response"] = response self.endpoint.spec_vars.update( self.spec.get(VARS_KEY, {}), extras=extras, ) tests_results = self._run_tests() hide_sensitive_info(response) del self.endpoint.spec_vars["response"] result = { "response": response, "tests_results": tests_results, "no_failure": all(test_result["status"] == TestStatus.PASSED for test_result in tests_results), "request_node_name": self.name, } if not settings["no_report"]: write_result(result) return result
def test_calls__hide( self, settings, request_settings, response_settings, mocker, response, mock__hide, ): mocker.patch("scanapi.hide_utils.settings", settings) hide_sensitive_info(response) calls = [ mocker.call(response.request, request_settings), mocker.call(response, response_settings), ] mock__hide.assert_has_calls(calls)