65d1158526
The Manila test module uses a class called StubOutForTesting, which is an awkward holdover from when the unit tests were using Mox. Alex wrote a more elegant and capable mocker method, manila.test.TestCase.mock_object, in the Cinder project which we have now added to Manila. So to remove the duplicate functionality and legacy code, all references to self.stubs.Set() in the Manila tests should be replaced with self.mock_object() and any related dead code should be removed. Resolves-bug: #1415602 Change-Id: Ie5f203c0b2cb57ad00d9ec8db0529075b6fef261
81 lines
3.0 KiB
Python
81 lines
3.0 KiB
Python
# Copyright 2011 OpenStack LLC
|
|
#
|
|
# 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 manila import context
|
|
from manila import test
|
|
|
|
|
|
class ContextTestCase(test.TestCase):
|
|
|
|
def test_request_context_elevated(self):
|
|
user_context = context.RequestContext(
|
|
'fake_user', 'fake_project', admin=False)
|
|
self.assertFalse(user_context.is_admin)
|
|
admin_context = user_context.elevated()
|
|
self.assertFalse(user_context.is_admin)
|
|
self.assertTrue(admin_context.is_admin)
|
|
self.assertFalse('admin' in user_context.roles)
|
|
self.assertTrue('admin' in admin_context.roles)
|
|
|
|
def test_request_context_sets_is_admin(self):
|
|
ctxt = context.RequestContext('111',
|
|
'222',
|
|
roles=['admin', 'weasel'])
|
|
self.assertEqual(ctxt.is_admin, True)
|
|
|
|
def test_request_context_sets_is_admin_upcase(self):
|
|
ctxt = context.RequestContext('111',
|
|
'222',
|
|
roles=['Admin', 'weasel'])
|
|
self.assertEqual(ctxt.is_admin, True)
|
|
|
|
def test_request_context_read_deleted(self):
|
|
ctxt = context.RequestContext('111',
|
|
'222',
|
|
read_deleted='yes')
|
|
self.assertEqual(ctxt.read_deleted, 'yes')
|
|
|
|
ctxt.read_deleted = 'no'
|
|
self.assertEqual(ctxt.read_deleted, 'no')
|
|
|
|
def test_request_context_read_deleted_invalid(self):
|
|
self.assertRaises(ValueError,
|
|
context.RequestContext,
|
|
'111',
|
|
'222',
|
|
read_deleted=True)
|
|
|
|
ctxt = context.RequestContext('111', '222')
|
|
self.assertRaises(ValueError,
|
|
setattr,
|
|
ctxt,
|
|
'read_deleted',
|
|
True)
|
|
|
|
def test_extra_args_to_context_get_logged(self):
|
|
info = {}
|
|
|
|
def fake_warn(log_msg, other_args):
|
|
info['log_msg'] = log_msg % other_args
|
|
|
|
self.mock_object(context.LOG, 'warn', fake_warn)
|
|
|
|
c = context.RequestContext('user',
|
|
'project',
|
|
extra_arg1='meow',
|
|
extra_arg2='wuff')
|
|
self.assertTrue(c)
|
|
self.assertIn("'extra_arg1': 'meow'", info['log_msg'])
|
|
self.assertIn("'extra_arg2': 'wuff'", info['log_msg'])
|