91 lines
3.1 KiB
Python
91 lines
3.1 KiB
Python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
|
|
# Copyright 2011 United States Government as represented by the
|
|
# Administrator of the National Aeronautics and Space Administration.
|
|
# All Rights Reserved.
|
|
#
|
|
# Copyright 2011 Nebula, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from django import http
|
|
from django import test
|
|
import mox
|
|
|
|
from django_openstack.middleware import keystone
|
|
|
|
|
|
class TestCase(test.TestCase):
|
|
TEST_STAFF_USER = 'staffUser'
|
|
TEST_TENANT = '1'
|
|
TEST_TENANT_NAME = 'aTenant'
|
|
TEST_TOKEN = 'aToken'
|
|
TEST_USER = 'test'
|
|
|
|
TEST_SERVICE_CATALOG = [{
|
|
"endpoints": [{
|
|
"adminURL": "http://cdn.admin-nets.local:8774/v1.0",
|
|
"region": "RegionOne",
|
|
"internalURL": "http://127.0.0.1:8774/v1.0",
|
|
"publicURL": "http://cdn.admin-nets.local:8774/v1.0/"
|
|
}],
|
|
"type": "nova_compat",
|
|
"name": "nova_compat"
|
|
}, {
|
|
"endpoints": [{
|
|
"adminURL": "http://nova/novapi/admin",
|
|
"region": "RegionOne",
|
|
"internalURL": "http://nova/novapi/internal",
|
|
"publicURL": "http://nova/novapi/public"
|
|
}],
|
|
"type": "compute",
|
|
"name": "nova"
|
|
}, {
|
|
"endpoints": [{
|
|
"adminURL": "http://glance/glanceapi/admin",
|
|
"region": "RegionOne",
|
|
"internalURL": "http://glance/glanceapi/internal",
|
|
"publicURL": "http://glance/glanceapi/piblic"
|
|
}],
|
|
"type": "glance",
|
|
"name": "glance"
|
|
}, {
|
|
"endpoints": [{
|
|
"adminURL": "http://cdn.admin-nets.local:5001/v2.0",
|
|
"region": "RegionOne",
|
|
"internalURL": "http://127.0.0.1:5000/v2.0",
|
|
"publicURL": "http://cdn.admin-nets.local:5000/v2.0"
|
|
}],
|
|
"type": "identity",
|
|
"name": "identity"
|
|
}]
|
|
|
|
def setUp(self):
|
|
self.mox = mox.Mox()
|
|
|
|
self._real_get_user_from_request = keystone.get_user_from_request
|
|
self.setActiveUser(self.TEST_TOKEN, self.TEST_USER, self.TEST_TENANT,
|
|
True, self.TEST_SERVICE_CATALOG)
|
|
self.request = http.HttpRequest()
|
|
keystone.AuthenticationMiddleware().process_request(self.request)
|
|
|
|
def tearDown(self):
|
|
self.mox.UnsetStubs()
|
|
keystone.get_user_from_request = self._real_get_user_from_request
|
|
|
|
def setActiveUser(self, token=None, username=None, tenant_id=None,
|
|
is_admin=None, service_catalog=None, tenant_name=None):
|
|
keystone.get_user_from_request = \
|
|
lambda x: keystone.User(token, username, tenant_id,
|
|
is_admin, service_catalog, tenant_name)
|