From 40c155c00ce0d0db4862abd9f17196cf23447264 Mon Sep 17 00:00:00 2001 From: Pablo Orviz Date: Wed, 4 Mar 2015 13:02:10 +0100 Subject: [PATCH] Get tenant ID through token_auth header. --- ooi/api/compute.py | 5 ++--- ooi/tests/test_compute_controller.py | 10 ++++++---- test-requirements.txt | 1 + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ooi/api/compute.py b/ooi/api/compute.py index 4ae8877..b5ba633 100644 --- a/ooi/api/compute.py +++ b/ooi/api/compute.py @@ -19,6 +19,5 @@ import ooi.api class ComputeController(ooi.api.BaseController): def index(self, req): - token_info = req.environ["keystone.token_info"] - tenant_id = token_info["token"]["tenant"]["id"] - req.environ["PATH_INFO"] = "/v2/%s/servers" % tenant_id + tenant_id = req.environ["keystone.token_auth"].user.project_id + req.path_info = "/%s/servers" % tenant_id diff --git a/ooi/tests/test_compute_controller.py b/ooi/tests/test_compute_controller.py index f9303dd..ed90114 100644 --- a/ooi/tests/test_compute_controller.py +++ b/ooi/tests/test_compute_controller.py @@ -14,6 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. +import mock import webob import webob.dec import webob.exc @@ -37,11 +38,12 @@ class TestComputeMiddleware(base.TestCase): def test_list_vms_all(self): req = webob.Request.blank("/compute", method="GET") - req.environ["keystone.token_info"] = { - "token": { - "tenant": {"id": "3dd7b3f6-c19d-11e4-8dfc-aa07a5b093db"}}} + + m = mock.MagicMock() + m.user.project_id = "3dd7b3f6-c19d-11e4-8dfc-aa07a5b093db" + req.environ["keystone.token_auth"] = m req.get_response(self.app) - self.assertEqual("/v2/3dd7b3f6-c19d-11e4-8dfc-aa07a5b093db/servers", + self.assertEqual("/3dd7b3f6-c19d-11e4-8dfc-aa07a5b093db/servers", req.environ["PATH_INFO"]) diff --git a/test-requirements.txt b/test-requirements.txt index a398a4c..d1651a0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9,3 +9,4 @@ oslosphinx testrepository>=0.0.18 testscenarios>=0.4 testtools>=0.9.34 +mock