Warning message is not logged for valid token-less request.

if delay_auth_decision is set,auth_token middleware
does not log messages for valid token-less requests.

Fixes: bug #1028683
Change-Id: Ia2069686b86cc833327b11343ebaed59663fd379
This commit is contained in:
nachiappan-veerappan-nachiappan
2013-01-09 15:02:32 -08:00
committed by Nachiappan VR N
parent 4a232ac641
commit a3657f999e
2 changed files with 23 additions and 2 deletions

View File

@@ -375,8 +375,10 @@ class AuthProtocol(object):
if token:
return token
else:
self.LOG.warn(
"Unable to find authentication token in headers: %s", env)
if not self.delay_auth_decision:
self.LOG.warn("Unable to find authentication token"
" in headers")
self.LOG.debug("Headers: %s", env)
raise InvalidUserToken('Unable to find token in headers')
def _reject_request(self, env, start_response):

View File

@@ -610,6 +610,25 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
self.assertEqual(self.response_headers['WWW-Authenticate'],
'Keystone uri=\'https://keystone.example.com:1234\'')
def test_request_no_token_log_message(self):
class FakeLog(object):
def __init__(self):
self.msg = None
self.debugmsg = None
def warn(self, msg=None, *args, **kwargs):
self.msg = msg
def debug(self, msg=None, *args, **kwargs):
self.debugmsg = msg
self.middleware.LOG = FakeLog()
self.middleware.delay_auth_decision = False
self.assertRaises(auth_token.InvalidUserToken,
self.middleware._get_user_token_from_header, {})
self.assertIsNotNone(self.middleware.LOG.msg)
self.assertIsNotNone(self.middleware.LOG.debugmsg)
def test_request_blank_token(self):
req = webob.Request.blank('/')
req.headers['X-Auth-Token'] = ''