Fix NoneType error for cinderclient v1
Request-id log is recorded in SessionClient.request() method, but None is used as logger, that causes all the v1 commands to be broken. This patch fixes the issue and updates the related unit tests. Change-Id: I46b973f2baca8d7402a39e0d15dbd8da38f4e590 Closes-Bug: #1616070
This commit is contained in:
@@ -117,7 +117,7 @@ class SessionClient(adapter.LegacyJsonAdapter):
|
||||
|
||||
# if service name is None then use service_type for logging
|
||||
service = self.service_name or self.service_type
|
||||
_log_request_id(self.logger, resp, service)
|
||||
_log_request_id(self._logger, resp, service)
|
||||
|
||||
if raise_exc and resp.status_code >= 400:
|
||||
raise exceptions.from_response(resp, body)
|
||||
|
||||
@@ -137,7 +137,9 @@ class ClientTest(utils.TestCase):
|
||||
session_client = cinderclient.client.SessionClient(session=mock.Mock())
|
||||
response, body = session_client.request(mock.sentinel.url,
|
||||
'POST', **kwargs)
|
||||
self.assertEqual(1, mock_log.call_count)
|
||||
self.assertIsNotNone(session_client._logger)
|
||||
mock_log.assert_called_once_with(session_client._logger, mock_response,
|
||||
mock.ANY)
|
||||
|
||||
# In this case, from_response method will not get called
|
||||
# because response status_code is < 400
|
||||
@@ -181,7 +183,9 @@ class ClientTest(utils.TestCase):
|
||||
# resp.status_code is 400
|
||||
self.assertRaises(exceptions.BadRequest, session_client.request,
|
||||
mock.sentinel.url, 'POST', **kwargs)
|
||||
self.assertEqual(1, mock_log.call_count)
|
||||
self.assertIsNotNone(session_client._logger)
|
||||
mock_log.assert_called_once_with(session_client._logger, mock_response,
|
||||
mock.ANY)
|
||||
|
||||
@mock.patch.object(cinderclient.client, '_log_request_id')
|
||||
@mock.patch.object(adapter.Adapter, 'request')
|
||||
@@ -206,7 +210,9 @@ class ClientTest(utils.TestCase):
|
||||
|
||||
self.assertRaises(exceptions.OverLimit, session_client.request,
|
||||
mock.sentinel.url, 'GET')
|
||||
self.assertEqual(1, mock_log.call_count)
|
||||
self.assertIsNotNone(session_client._logger)
|
||||
mock_log.assert_called_once_with(session_client._logger, mock_response,
|
||||
mock.ANY)
|
||||
|
||||
@mock.patch.object(exceptions, 'from_response')
|
||||
def test_keystone_request_raises_auth_failure_exception(
|
||||
|
||||
Reference in New Issue
Block a user