100 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.4 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/public"
 | |
|         }],
 | |
|         "type": "image",
 | |
|         "name": "glance"
 | |
|     }, {
 | |
|         "endpoints": [{
 | |
|             "adminURL": "http://cdn.admin-nets.local:35357/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"
 | |
|     }, {
 | |
|         "endpoints": [{
 | |
|             "adminURL": "http://swift/swiftapi/admin",
 | |
|             "region": "RegionOne",
 | |
|             "internalURL": "http://swift/swiftapi/internal",
 | |
|             "publicURL": "http://swift/swiftapi/public"
 | |
|         }],
 | |
|         "type": "object-store",
 | |
|         "name": "swift"
 | |
|     }]
 | |
| 
 | |
|     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)
 | 
