|
1 | 1 | import json
|
2 | 2 | import os
|
| 3 | +import pytest |
3 | 4 |
|
4 | 5 | from requests import Request
|
5 | 6 |
|
@@ -60,6 +61,71 @@ def test_log_request(mocked_logger):
|
60 | 61 | "body=%s \n " % request.body)
|
61 | 62 |
|
62 | 63 |
|
| 64 | +@mock.patch('RequestsLibrary.log.logger') |
| 65 | +def test_log_request_with_headers(mocked_logger): |
| 66 | + headers = {'User-Agent': 'python-requests/2.31.0', |
| 67 | + 'Accept-Encoding': 'gzip, deflate', |
| 68 | + 'Accept': '*/*', |
| 69 | + 'Connection': 'keep-alive'} |
| 70 | + request = Request(method='get', url='http://mock.rulezz', headers=headers) |
| 71 | + request = request.prepare() |
| 72 | + response = mock.MagicMock() |
| 73 | + response.history = [] |
| 74 | + response.request = request |
| 75 | + log_request(response) |
| 76 | + assert mocked_logger.info.call_args[0][0] == ("%s Request : " % request.method + |
| 77 | + "url=%s \n " % request.url + |
| 78 | + "path_url=%s \n " % request.path_url + |
| 79 | + "headers=%s \n " % request.headers + |
| 80 | + "body=%s \n " % request.body) |
| 81 | + |
| 82 | + |
| 83 | +@pytest.mark.parametrize('log_level', ['INFO', 'CONSOLE', 'HTML', 'WARN', 'ERROR']) |
| 84 | +@mock.patch('RequestsLibrary.log.logger') |
| 85 | +def test_log_request_with_headers_auth_with_no_debug_trace_logger(mocked_logger, log_level): |
| 86 | + mocked_logger.LOGLEVEL = log_level |
| 87 | + headers = {'User-Agent': 'python-requests/2.31.0', |
| 88 | + 'Accept-Encoding': 'gzip, deflate', |
| 89 | + 'Accept': '*/*', |
| 90 | + 'Connection': 'keep-alive', |
| 91 | + 'Authorization': 'some_token'} |
| 92 | + safe_headers = dict(headers) |
| 93 | + safe_headers['Authorization'] = '*****' |
| 94 | + request = Request(method='get', url='http://mock.rulezz', headers=headers) |
| 95 | + request = request.prepare() |
| 96 | + response = mock.MagicMock() |
| 97 | + response.history = [] |
| 98 | + response.request = request |
| 99 | + log_request(response) |
| 100 | + assert mocked_logger.info.call_args[0][0] == ("%s Request : " % request.method + |
| 101 | + "url=%s \n " % request.url + |
| 102 | + "path_url=%s \n " % request.path_url + |
| 103 | + "headers=%s \n " % safe_headers + |
| 104 | + "body=%s \n " % request.body) |
| 105 | + |
| 106 | + |
| 107 | +@pytest.mark.parametrize('log_level', ['DEBUG', 'TRACE']) |
| 108 | +@mock.patch('RequestsLibrary.log.logger') |
| 109 | +def test_log_request_with_headers_auth_with_debug_trace_logger(mocked_logger, log_level): |
| 110 | + headers = {'User-Agent': 'python-requests/2.31.0', |
| 111 | + 'Accept-Encoding': 'gzip, deflate', |
| 112 | + 'Accept': '*/*', |
| 113 | + 'Connection': 'keep-alive', |
| 114 | + 'Authorization': 'some_token'} |
| 115 | + mocked_logger.LOGLEVEL = log_level |
| 116 | + request = Request(method='get', url='http://mock.rulezz', headers=headers) |
| 117 | + request = request.prepare() |
| 118 | + response = mock.MagicMock() |
| 119 | + response.history = [] |
| 120 | + response.request = request |
| 121 | + log_request(response) |
| 122 | + assert mocked_logger.info.call_args[0][0] == ("%s Request : " % request.method + |
| 123 | + "url=%s \n " % request.url + |
| 124 | + "path_url=%s \n " % request.path_url + |
| 125 | + "headers=%s \n " % request.headers + |
| 126 | + "body=%s \n " % request.body) |
| 127 | + |
| 128 | + |
63 | 129 | @mock.patch('RequestsLibrary.log.logger')
|
64 | 130 | def test_log_request_with_redirect(mocked_logger):
|
65 | 131 | request = Request(method='get', url='http://mock.rulezz/redirected')
|
|
0 commit comments