Skip to content

Commit

Permalink
chore: rename last_request/response (#639)
Browse files Browse the repository at this point in the history
  • Loading branch information
JenniferMah authored Jan 23, 2023
1 parent 0bc8c88 commit 6314d0b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
28 changes: 14 additions & 14 deletions tests/unit/http/test_http_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ def test_request_sets_host_header_if_missing(self):
self.client.request('doesnt matter', 'doesnt matter')

self.assertEqual('other.twilio.com', self.request_mock.headers['Host'])
self.assertIsNotNone(self.client.last_request)
self.assertIsNotNone(self.client.last_response)
self.assertIsNotNone(self.client._test_only_last_request)
self.assertIsNotNone(self.client._test_only_last_response)

def test_request_with_timeout(self):
self.request_mock.url = 'https://api.twilio.com/'
Expand Down Expand Up @@ -117,26 +117,26 @@ def test_last_request_last_response_exist(self):
{'headers-value': 'headers-key'},
['a', 'b'])

self.assertIsNotNone(self.client.last_request)
self.assertEqual('doesnt-matter-url', self.client.last_request.url)
self.assertEqual('DOESNT-MATTER-METHOD', self.client.last_request.method)
self.assertEqual({'params-value': 'params-key'}, self.client.last_request.params)
self.assertEqual({'data-value': 'data-key'}, self.client.last_request.data)
self.assertEqual({'headers-value': 'headers-key'}, self.client.last_request.headers)
self.assertEqual(['a', 'b'], self.client.last_request.auth)
self.assertIsNotNone(self.client._test_only_last_request)
self.assertEqual('doesnt-matter-url', self.client._test_only_last_request.url)
self.assertEqual('DOESNT-MATTER-METHOD', self.client._test_only_last_request.method)
self.assertEqual({'params-value': 'params-key'}, self.client._test_only_last_request.params)
self.assertEqual({'data-value': 'data-key'}, self.client._test_only_last_request.data)
self.assertEqual({'headers-value': 'headers-key'}, self.client._test_only_last_request.headers)
self.assertEqual(['a', 'b'], self.client._test_only_last_request.auth)

self.assertIsNotNone(self.client.last_response)
self.assertEqual(200, self.client.last_response.status_code)
self.assertEqual('testing-unicode: Ω≈ç√, 💩', self.client.last_response.text)
self.assertIsNotNone(self.client._test_only_last_response)
self.assertEqual(200, self.client._test_only_last_response.status_code)
self.assertEqual('testing-unicode: Ω≈ç√, 💩', self.client._test_only_last_response.text)

def test_last_response_empty_on_error(self):
self.session_mock.send.side_effect = Exception('voltron')

with self.assertRaises(Exception):
self.client.request('doesnt-matter', 'doesnt-matter')

self.assertIsNotNone(self.client.last_request)
self.assertIsNone(self.client.last_response)
self.assertIsNotNone(self.client._test_only_last_request)
self.assertIsNone(self.client._test_only_last_response)

def test_request_behind_proxy(self):
self.request_mock.url = 'https://api.twilio.com/'
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/rest/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,13 @@ def tearDown(self):

def test_set_default_user_agent(self):
self.client.request('GET', 'https://api.twilio.com/')
request_header = self.client.http_client.last_request.headers['User-Agent']
request_header = self.client.http_client._test_only_last_request.headers['User-Agent']
self.assertRegex(request_header, r'^twilio-python\/[0-9.]+(-rc\.[0-9]+)?\s\(\w+\s\w+\)\sPython\/[^\s]+$')

def test_set_user_agent_extensions(self):
expected_user_agent_extensions = ['twilio-run/2.0.0-test', 'flex-plugin/3.4.0']
self.client.user_agent_extensions = expected_user_agent_extensions
self.client.request('GET', 'https://api.twilio.com/')
user_agent_headers = self.client.http_client.last_request.headers['User-Agent']
user_agent_headers = self.client.http_client._test_only_last_request.headers['User-Agent']
user_agent_extensions = user_agent_headers.split(" ")[-len(expected_user_agent_extensions):]
self.assertEqual(user_agent_extensions, expected_user_agent_extensions)
12 changes: 6 additions & 6 deletions twilio/http/http_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
self.session = Session() if pool_connections else None
if self.session and max_retries is not None:
self.session.mount('https://', HTTPAdapter(max_retries=max_retries))
self.last_request = None
self.last_response = None
self._test_only_last_request = None
self._test_only_last_response = None
self.logger = logger
self.request_hooks = request_hooks or hooks.default_hooks()

Expand Down Expand Up @@ -74,10 +74,10 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,

self._log_request(kwargs)

self.last_response = None
self._test_only_last_response = None
session = self.session or Session()
request = Request(**kwargs)
self.last_request = TwilioRequest(**kwargs)
self._test_only_last_request = TwilioRequest(**kwargs)

prepped_request = session.prepare_request(request)

Expand All @@ -90,9 +90,9 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,

self._log_response(response)

self.last_response = Response(int(response.status_code), response.text, response.headers)
self._test_only_last_response = Response(int(response.status_code), response.text, response.headers)

return self.last_response
return self._test_only_last_response

def _log_request(self, kwargs):
self.logger.info('-- BEGIN Twilio API Request --')
Expand Down

0 comments on commit 6314d0b

Please sign in to comment.