diff --git a/src/config/api-server/tests/test_perms2.py b/src/config/api-server/tests/test_perms2.py index 82d64c440b2..d113f064272 100644 --- a/src/config/api-server/tests/test_perms2.py +++ b/src/config/api-server/tests/test_perms2.py @@ -347,9 +347,9 @@ def setUp(self): auth_url='http://127.0.0.1:5000/v2.0') # prepare token before vnc api invokes keystone - alice = User(ip, port, kc, 'alice', 'alice123', 'alice-role', 'alice-proj') - bob = User(ip, port, kc, 'bob', 'bob123', 'bob-role', 'bob-proj') - admin = User(ip, port, kc, 'admin', 'contrail123', 'admin', 'admin') + alice = User(ip, port, kc, 'alice', 'alice123', 'alice-role', 'alice-proj-%s' % self.id()) + bob = User(ip, port, kc, 'bob', 'bob123', 'bob-role', 'bob-proj-%s' % self.id()) + admin = User(ip, port, kc, 'admin', 'contrail123', 'admin', 'admin-%s' % self.id()) self.alice = alice self.bob = bob @@ -762,10 +762,6 @@ def test_ri_owner(self): self.assertEquals(ri.get_perms2().owner, 'cloud-admin') def tearDown(self): - self._api_svr_greenlet.kill() - self._api_server._db_conn._msgbus.shutdown() - test_utils.FakeIfmapClient.reset() - test_utils.CassandraCFs.reset() super(TestPermissions, self).tearDown() # end tearDown diff --git a/src/config/api-server/vnc_auth_keystone.py b/src/config/api-server/vnc_auth_keystone.py index 2e3f24b5422..e9eee8f71b8 100644 --- a/src/config/api-server/vnc_auth_keystone.py +++ b/src/config/api-server/vnc_auth_keystone.py @@ -265,7 +265,12 @@ def verify_signed_token(self, user_token): # gets called from keystone middleware after token check def token_valid(self, env, start_response): status = env.get('HTTP_X_IDENTITY_STATUS') - return True if status != 'Invalid' else False + token_info = env.get('keystone.token_info') + start_response('200 OK', [('Content-type', 'text/plain')]) + return token_info if status != 'Invalid' else '' + + def start_response(self, status, headers): + pass def validate_user_token(self, request): # following config forces keystone middleware to always return the result @@ -274,7 +279,7 @@ def validate_user_token(self, request): conf_info['delay_auth_decision'] = True auth_middleware = auth_token.AuthProtocol(self.token_valid, conf_info) - return auth_middleware(request.headers.environ, None) + return auth_middleware(request.headers.environ, self.start_response) # convert keystone user id to name def user_id_to_name(self, id): diff --git a/src/config/common/tests/test_utils.py b/src/config/common/tests/test_utils.py index 07581fc5d65..95e73e1086a 100644 --- a/src/config/common/tests/test_utils.py +++ b/src/config/common/tests/test_utils.py @@ -1095,7 +1095,7 @@ def __call__(self, env, start_response): return self._reject_request(env, start_response) token_info = self._validate_user_token(user_token, env) - # env['keystone.token_info'] = token_info + env['keystone.token_info'] = token_info user_headers = self._build_user_headers(token_info) self._add_headers(env, user_headers) return self.app(env, start_response)