def test_log_request_with_redirect(mocked_logger): request = Request(method='get', url='http://mock.rulezz/redirected') request = request.prepare() original = Request(method='get', url='http://mock.rulezz/original') original = original.prepare() response = mock.MagicMock() response.request = request response0 = mock.MagicMock() response0.request = original response.history = [response0, mock.MagicMock] log_request(response) assert mocked_logger.info.call_args[0][0] == ( "%s Request : " % request.method + "url=%s (redirected) \n " % response.history[0].request.url + "path_url=%s \n " % response.history[0].request.path_url + "headers=%s \n " % request.headers + "body=%s \n " % request.body)
def test_log_response(mocked_logger): response = mock.MagicMock() response.url = 'http://mock.rulezz' response.request.method = 'GET' response.status_code = 200 response.reason = 'OK' response.text = "<html>body</html>" response.headers = { 'Date': 'Sun, 10 May 2020 22:31:21 GMT', 'Expires': '-1', 'Cache-Control': 'private, max-age=0', 'Content-Type': 'text/html; charset=ISO-8859-1', 'P3P': 'CP="This is not a P3P policy! See g.co/p3phelp for more info."', 'Content-Encoding': 'gzip', 'Server': 'gws', 'X-XSS-Protection': '0', 'X-Frame-Options': 'SAMEORIGIN', 'Set-Cookie': '1P_JAR=2020-05-10-22; expires=Tue, 09-Jun-2020 22:31:21 GMT; path=/; domain=.google.it; Secure, NID=204=1JvfFtAYLcnQfWYzh5h0K-PttJP8IvuJdcaej_-utCvMHqavyFkwmthddhQZ-sQ6nZkNCWybVUuzTtaNoEK4TD1FG-TA7QIUR2P6-kj-vN0zkjiS4VdfQbxFnfwtIgkBxFDuoAZsoa_oYm0ODjJ4JAZfdXueqrZJ38tDtIOXpVU; expires=Mon, 09-Nov-2020 22:31:21 GMT; path=/; domain=.google.it; HttpOnly', 'Alt-Svc': 'h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"', 'Transfer-Encoding': 'chunked' } # noqa log_response(response) assert mocked_logger.info.call_args[0][0] == ( "%s Response : url=%s \n " % (response.request.method.upper(), response.url) + "status=%s, reason=%s \n " % (response.status_code, response.reason) + "headers=%s \n " % response.headers + "body=%s \n " % response.text)
def build_mocked_session_common_request(alias='alias', url='http://mocking.rules', verify=None, cookies={}): keywords = RequestsLibrary() session = keywords.create_session(alias, url, verify=verify, cookies=cookies) # this prevents a real network call from being executed session.get = mock.MagicMock() return session, keywords._common_request
def test_common_request_file_descriptor_closing(): keywords = RequestsKeywords() session = keywords.create_session('alias', 'http://mocking.rules') # this prevents a real network call from being executed session.get = mock.MagicMock() with open(os.path.join(SCRIPT_DIR, '../atests/randombytes.bin'), 'rb') as f: keywords._common_request('get', session, 'http://mocking.rules', data=f) assert f.closed is True
def test_log_request(mocked_logger): request = Request(method='get', url='http://mock.rulezz') request = request.prepare() response = mock.MagicMock() response.history = [] response.request = request log_request(response) assert mocked_logger.info.call_args[0][0] == ( "%s Request : " % request.method + "url=%s \n " % request.url + "path_url=%s \n " % request.path_url + "headers=%s \n " % request.headers + "body=%s \n " % request.body)
def test_log_request_base64_body(mocked_logger): request = Request(method='get', url='http://mock.rulezz') request = request.prepare() response = mock.MagicMock() response.history = [] response.request = request log_request(response, log_options={'request_body_binary': True}) assert mocked_logger.info.call_args[0][0] == ( "%s Request : " % request.method + "url=%s \n " % request.url + "path_url=%s \n " % request.path_url + "headers=%s \n " % request.headers + "body(base64=True)=%s \n " % request.body)
def test_log_response_base64_body(mocked_logger): response = mock.MagicMock() response.url = 'http://mock.rulezz' response.request.method = 'GET' response.status_code = 200 response.reason = 'OK' response.content = b"<html>body</html>" log_response(response, log_options={'response_body_binary': True}) assert mocked_logger.info.call_args[0][0] == ( "%s Response : url=%s \n " % (response.request.method.upper(), response.url) + "status=%s, reason=%s \n " % (response.status_code, response.reason) + "body(base64=True)=PGh0bWw+Ym9keTwvaHRtbD4= \n ")
def test_log_response(mocked_logger): response = mock.MagicMock() response.url = 'http://mock.rulezz' response.request.method = 'GET' response.status_code = 200 response.reason = 'OK' response.text = "<html>body</html>" log_response(response) assert mocked_logger.info.call_args[0][0] == ( "%s Response : url=%s \n " % (response.request.method.upper(), response.url) + "status=%s, reason=%s \n " % (response.status_code, response.reason) + "body(base64=False)=%s \n " % response.text)
def build_mocked_session_keywords(url=''): keywords = RequestsLibrary() session = mock.MagicMock() session.url = url return session, keywords
def mocked_keywords(): keywords = RequestsLibrary() keywords._cache = mock.MagicMock() keywords._common_request = mock.MagicMock() keywords._check_status = mock.MagicMock() return keywords