Get tenant ID through token_auth header.

This commit is contained in:
Pablo Orviz 2015-03-04 13:02:10 +01:00
parent 91a48c7271
commit 40c155c00c
3 changed files with 9 additions and 7 deletions

View File

@ -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

View File

@ -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"])

View File

@ -9,3 +9,4 @@ oslosphinx
testrepository>=0.0.18
testscenarios>=0.4
testtools>=0.9.34
mock