def reset_task_status(self): self.mock.StubOutWithMock(MgmtInstance, 'load') MgmtInstance.load(context=self.context, id=self.db_info.id).AndReturn(self.instance) self.mock.ReplayAll() req, body = self._make_request(context=self.context) self.controller = MgmtInstanceController() resp = self.controller.action(req, body, self.tenant_id, self.db_info.id) self.mock.UnsetStubs() self.mock.VerifyAll() return resp
class RestartTaskStatusTests(MgmtInstanceBase): @before_class def setUp(self): super(RestartTaskStatusTests, self).setUp() @after_class def tearDown(self): super(RestartTaskStatusTests, self).tearDown() def _change_task_status_to(self, new_task_status): self.db_info.task_status = new_task_status self.db_info.save() def _make_request(self, path="/", context=None, **kwargs): req = super(RestartTaskStatusTests, self)._make_request(path, context, **kwargs) req.method = "POST" body = {"reset-task-status": {}} return req, body def reset_task_status(self): self.mock.StubOutWithMock(MgmtInstance, "load") MgmtInstance.load(context=self.context, id=self.db_info.id).AndReturn(self.instance) self.mock.ReplayAll() req, body = self._make_request(context=self.context) self.controller = MgmtInstanceController() resp = self.controller.action(req, body, self.tenant_id, self.db_info.id) self.mock.UnsetStubs() self.mock.VerifyAll() return resp @test def mgmt_restart_task_requires_admin_account(self): context = ReddwarfContext(is_admin=False) req, body = self._make_request(context=context) self.controller = MgmtInstanceController() assert_raises(exception.Forbidden, self.controller.action, req, body, self.tenant_id, self.db_info.id) @test def mgmt_restart_task_returns_json(self): resp = self.reset_task_status() out = resp.data("application/json") assert_equal(out, None) @test def mgmt_restart_task_returns_xml(self): resp = self.reset_task_status() out = resp.data("application/xml") assert_equal(out, None) @test def mgmt_restart_task_changes_status_to_none(self): self._change_task_status_to(InstanceTasks.BUILDING) self.reset_task_status() self._reload_db_info() assert_equal(self.db_info.task_status, InstanceTasks.NONE)
def get_resources(self): resources = [] serializer = wsgi.ReddwarfResponseSerializer( body_serializers={ 'application/xml': wsgi.ReddwarfXMLDictSerializer() }) instances = extensions.ResourceExtension( '{tenant_id}/mgmt/instances', MgmtInstanceController(), deserializer=wsgi.ReddwarfRequestDeserializer(), serializer=serializer, member_actions={ 'root': 'GET', 'diagnostics': 'GET', 'hwinfo': 'GET', 'action': 'POST' }) resources.append(instances) hosts = extensions.ResourceExtension( '{tenant_id}/mgmt/hosts', HostController(), deserializer=wsgi.RequestDeserializer(), serializer=serializer, member_actions={}) resources.append(hosts) quota = extensions.ResourceExtension( '{tenant_id}/mgmt/quotas', QuotaController(), deserializer=wsgi.RequestDeserializer(), serializer=serializer, member_actions={}) resources.append(quota) storage = extensions.ResourceExtension( '{tenant_id}/mgmt/storage', StorageController(), deserializer=wsgi.RequestDeserializer(), serializer=serializer, member_actions={}) resources.append(storage) host_instances = extensions.ResourceExtension( 'instances', hostservice.HostInstanceController(), parent={ 'member_name': 'host', 'collection_name': '{tenant_id}/mgmt/hosts' }, deserializer=wsgi.RequestDeserializer(), serializer=serializer, collection_actions={'action': 'POST'}) resources.append(host_instances) return resources
def reset_task_status(self): self.mock.StubOutWithMock(MgmtInstance, "load") MgmtInstance.load(context=self.context, id=self.db_info.id).AndReturn(self.instance) self.mock.ReplayAll() req, body = self._make_request(context=self.context) self.controller = MgmtInstanceController() resp = self.controller.action(req, body, self.tenant_id, self.db_info.id) self.mock.UnsetStubs() self.mock.VerifyAll() return resp
def mgmt_restart_task_requires_admin_account(self): context = ReddwarfContext(is_admin=False) req, body = self._make_request(context=context) self.controller = MgmtInstanceController() assert_raises(exception.Forbidden, self.controller.action, req, body, self.tenant_id, self.db_info.id)
class RestartTaskStatusTests(MgmtInstanceBase): @before_class def setUp(self): super(RestartTaskStatusTests, self).setUp() @after_class def tearDown(self): super(RestartTaskStatusTests, self).tearDown() def _change_task_status_to(self, new_task_status): self.db_info.task_status = new_task_status self.db_info.save() def _make_request(self, path='/', context=None, **kwargs): req = super(RestartTaskStatusTests, self)._make_request(path, context, **kwargs) req.method = 'POST' body = {'reset-task-status': {}} return req, body def reset_task_status(self): self.mock.StubOutWithMock(MgmtInstance, 'load') MgmtInstance.load(context=self.context, id=self.db_info.id).AndReturn(self.instance) self.mock.ReplayAll() req, body = self._make_request(context=self.context) self.controller = MgmtInstanceController() resp = self.controller.action(req, body, self.tenant_id, self.db_info.id) self.mock.UnsetStubs() self.mock.VerifyAll() return resp @test def mgmt_restart_task_requires_admin_account(self): context = ReddwarfContext(is_admin=False) req, body = self._make_request(context=context) self.controller = MgmtInstanceController() assert_raises(exception.Forbidden, self.controller.action, req, body, self.tenant_id, self.db_info.id) @test def mgmt_restart_task_returns_json(self): resp = self.reset_task_status() out = resp.data("application/json") assert_equal(out, None) @test def mgmt_restart_task_returns_xml(self): resp = self.reset_task_status() out = resp.data("application/xml") assert_equal(out, None) @test def mgmt_restart_task_changes_status_to_none(self): self._change_task_status_to(InstanceTasks.BUILDING) self.reset_task_status() self._reload_db_info() assert_equal(self.db_info.task_status, InstanceTasks.NONE)
def setUp(self): self.mock = mox.Mox() self._create_instance() self.controller = MgmtInstanceController()