From 06e3420dca2a36a11b3d2973f45f156e78cc1c47 Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Mon, 3 Feb 2014 11:12:00 +1000 Subject: [PATCH] Fix debug curl commands for included data Include the submitted data in the curl debug statement. Initially fixed in: https://review.openstack.org/#/c/53501 Change-Id: I4e3e9e4799a508666fb37fafe864eea25b676836 Closes-Bug: #1249891 --- keystoneclient/session.py | 9 +++++---- keystoneclient/tests/test_session.py | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/keystoneclient/session.py b/keystoneclient/session.py index 0f4e62285..ef9f46988 100644 --- a/keystoneclient/session.py +++ b/keystoneclient/session.py @@ -165,11 +165,12 @@ class Session(object): for header in six.iteritems(headers): string_parts.append('-H "%s: %s"' % header) - _logger.debug('REQ: %s', ' '.join(string_parts)) + try: + string_parts.append("-d '%s'" % kwargs['data']) + except KeyError: + pass - data = kwargs.get('data') - if data: - _logger.debug('REQ BODY: %s', data) + _logger.debug('REQ: %s', ' '.join(string_parts)) # Force disable requests redirect handling. We will manage this below. kwargs['allow_redirects'] = False diff --git a/keystoneclient/tests/test_session.py b/keystoneclient/tests/test_session.py index e25953373..d4d9db92a 100644 --- a/keystoneclient/tests/test_session.py +++ b/keystoneclient/tests/test_session.py @@ -146,13 +146,15 @@ class SessionTests(utils.TestCase): session = client_session.Session(verify=False) headers = {'HEADERA': 'HEADERVALB'} body = 'BODYRESPONSE' + data = 'BODYDATA' self.stub_url(httpretty.POST, body=body) - session.post(self.TEST_URL, headers=headers) + session.post(self.TEST_URL, headers=headers, data=data) self.assertIn('curl', self.logger.output) self.assertIn('POST', self.logger.output) self.assertIn('--insecure', self.logger.output) self.assertIn(body, self.logger.output) + self.assertIn("'%s'" % data, self.logger.output) for k, v in six.iteritems(headers): self.assertIn(k, self.logger.output)