Example #1
0
 def setUp(self):
     super(ApiEc2TestCase, self).setUp()
     self.host = '127.0.0.1'
     # NOTE(vish): skipping the Authorizer
     roles = ['sysadmin', 'netadmin']
     ctxt = context.RequestContext('fake', 'fake', roles=roles)
     self.app = auth.InjectContext(ctxt,
             ec2.Requestify(ec2.Authorizer(ec2.Executor()),
                            'nova.api.ec2.cloud.CloudController'))
Example #2
0
    def setUp(self):
        super(AccessTestCase, self).setUp()
        um = manager.AuthManager()
        self.context = context.get_admin_context()
        # Make test users
        self.testadmin = um.create_user('testadmin')
        self.testpmsys = um.create_user('testpmsys')
        self.testnet = um.create_user('testnet')
        self.testsys = um.create_user('testsys')
        # Assign some rules
        um.add_role('testadmin', 'cloudadmin')
        um.add_role('testpmsys', 'sysadmin')
        um.add_role('testnet', 'netadmin')
        um.add_role('testsys', 'sysadmin')

        # Make a test project
        self.project = um.create_project('testproj', 'testpmsys',
                                         'a test project',
                                         ['testpmsys', 'testnet', 'testsys'])
        self.project.add_role(self.testnet, 'netadmin')
        self.project.add_role(self.testsys, 'sysadmin')

        #user is set in each test

        def noopWSGIApp(environ, start_response):
            start_response('200 OK', [])
            return ['']

        self.mw = ec2.Authorizer(noopWSGIApp)
        self.mw.action_roles = {
            'FakeControllerClass': {
                '_allow_all': ['all'],
                '_allow_none': [],
                '_allow_project_manager': ['projectmanager'],
                '_allow_sys_and_net': ['sysadmin', 'netadmin'],
                '_allow_sysadmin': ['sysadmin']
            }
        }