def setUp(self):
        super(SuspendServerPolicyTest, self).setUp()
        self.controller = suspend_server.SuspendServerController()
        self.req = fakes.HTTPRequest.blank('')
        user_id = self.req.environ['nova.context'].user_id
        self.mock_get = self.useFixture(
            fixtures.MockPatch('nova.api.openstack.common.get_instance')).mock
        self.instance = fake_instance.fake_instance_obj(
            self.project_member_context,
            id=1,
            uuid=uuids.fake_id,
            project_id=self.project_id,
            user_id=user_id,
            vm_state=vm_states.ACTIVE)
        self.mock_get.return_value = self.instance

        # Check that admin or and server owner is able to suspend/resume
        # the server
        self.admin_or_owner_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, self.project_member_context,
            self.project_reader_context, self.project_foo_context
        ]
        # Check that non-admin/owner is not able to suspend/resume
        # the server
        self.admin_or_owner_unauthorized_contexts = [
            self.system_member_context, self.system_reader_context,
            self.system_foo_context, self.other_project_member_context
        ]
Example #2
0
    def setUp(self):
        super(SuspendServerPolicyTest, self).setUp()
        self.controller = suspend_server.SuspendServerController()
        self.req = fakes.HTTPRequest.blank('')
        user_id = self.req.environ['nova.context'].user_id
        self.mock_get = self.useFixture(
            fixtures.MockPatch('nova.api.openstack.common.get_instance')).mock
        self.instance = fake_instance.fake_instance_obj(
            self.project_member_context,
            id=1,
            uuid=uuids.fake_id,
            project_id=self.project_id,
            user_id=user_id,
            vm_state=vm_states.ACTIVE)
        self.mock_get.return_value = self.instance

        # With legacy rule and no scope checks, all admin, project members
        # project reader or other project role(because legacy rule allow server
        # owner- having same project id and no role check) is able to suspend
        # resume the server.
        self.project_action_authorized_contexts = [
            self.legacy_admin_context, self.system_admin_context,
            self.project_admin_context, self.project_member_context,
            self.project_reader_context, self.project_foo_context
        ]
Example #3
0
 def setUp(self):
     super(SuspendServerPolicyEnforcementV21, self).setUp()
     self.controller = suspend_server_v21.SuspendServerController()
     self.req = fakes.HTTPRequest.blank('')