def test_node_create_with_bad_cluster(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'create', True) body = { 'node': { 'name': 'test_node', 'profile_id': 'xxxx-yyyy-zzzz', 'cluster_id': 'non-existent-cluster', 'role': None, 'metadata': {}, } } req = self._post('/nodes', jsonutils.dumps(body)) error = senlin_exc.ResourceNotFound(type='cluster', id='non-existent-cluster') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.create, req, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with('NodeCreateRequest', mock.ANY, body, 'node') mock_call.assert_called_once_with(req.context, 'node_create2', mock.ANY)
def test_node_update_invalid_profile(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) nid = 'aaaa-bbbb-cccc' body = { 'node': { 'name': 'test_node', 'profile_id': 'profile-not-exist', 'role': None, 'metadata': {}, } } req = self._patch('/nodes/%(node_id)s' % {'node_id': nid}, jsonutils.dumps(body)) error = senlin_exc.ResourceNotFound(type='profile', id=nid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, node_id=nid, body=body) mock_parse.assert_called_once_with('NodeUpdateRequest', mock.ANY, mock.ANY) mock_call.assert_called_once_with(req.context, 'node_update2', mock.ANY) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) msg = 'The profile (aaaa-bbbb-cccc) could not be found.' self.assertEqual(msg, resp.json['error']['message'])
def test_profile_create_with_spec_validation_failed(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'create', True) body = { 'profile': { 'name': 'test_profile', 'spec': { 'type': 'test_profile_type', 'version': '1.0', 'properties': {'param': 'value'}, }, 'metadata': {}, } } req = self._post('/profiles', jsonutils.dumps(body)) obj = mock.Mock() mock_parse.return_value = obj msg = 'Spec validation error (param): value' error = senlin_exc.InvalidSpec(message=msg) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.create, req, body=body) self.assertEqual(400, resp.json['code']) self.assertEqual('InvalidSpec', resp.json['error']['type']) mock_parse.assert_called_once_with( 'ProfileCreateRequest', mock.ANY, body, 'profile') mock_call.assert_called_once_with( req.context, 'profile_create', obj)
def test_cluster_policy_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) cid = 'FAKE_CLUSTER' pid = 'FAKE_POLICY' req = self._get('/cluster_policies/%(cid)s/%(pid)s' '' % { 'cid': cid, 'pid': pid }) error = senlin_exc.PolicyBindingNotFound(policy=pid, identity=cid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, cluster_id=cid, policy_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('PolicyBindingNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with('ClusterPolicyGetRequest', mock.ANY, { 'identity': 'FAKE_CLUSTER', 'policy_id': 'FAKE_POLICY' }) mock_call.assert_called_once_with(req.context, 'cluster_policy_get', mock.ANY)
def test_policy_update_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) pid = 'non-existent-policy' body = { 'policy': { 'name': 'new_policy', } } req = self._patch('/policies/%(policy_id)s' % {'policy_id': pid}, jsonutils.dumps(body)) obj = mock.Mock() mock_parse.return_value = obj error = senlin_exc.ResourceNotFound(type='policy', id=pid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, policy_id=pid, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_profile_create_with_bad_type(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'create', True) type_name = 'unknown_type' body = { 'profile': { 'name': 'test_profile', 'spec': { 'type': type_name, 'version': '1.0', 'properties': {'param': 'value'}, }, 'metadata': {}, } } req = self._post('/profiles', jsonutils.dumps(body)) obj = mock.Mock() mock_parse.return_value = obj error = senlin_exc.ResourceNotFound(type='profile_type', id=type_name) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.create, req, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with( 'ProfileCreateRequest', mock.ANY, body, 'profile') mock_call.assert_called_once_with( req.context, 'profile_create', obj)
def test_profile_update_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) pid = 'non-existent-profile' body = { 'profile': { 'name': 'new_profile', 'metadata': { 'author': 'john d' }, } } req = self._put('/profiles/%(profile_id)s' % {'profile_id': pid}, jsonutils.dumps(body)) error = senlin_exc.ResourceNotFound(type='profile', id=pid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, profile_id=pid, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_receiver_update_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) wid = 'non-existent-receiver' body = { 'receiver': { 'name': 'receiver-2', 'params': { 'count': 10 }, } } req = self._put('/receivers/%(receiver_id)s' % {'receiver_id': wid}, jsonutils.dumps(body)) error = senlin_exc.ResourceNotFound(type='webhook', id=wid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, receiver_id=wid, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_node_update_invalid_profile(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) nid = 'aaaa-bbbb-cccc' body = { 'node': { 'name': 'test_node', 'profile_id': 'profile-not-exist', 'role': None, 'metadata': {}, } } req = self._patch('/nodes/%(node_id)s' % {'node_id': nid}, jsonutils.dumps(body)) error = senlin_exc.ProfileNotFound(profile=nid) mock_call = self.patchobject(rpc_client.EngineClient, 'call', side_effect=shared.to_remote_error(error)) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, node_id=nid, body=body) mock_call.assert_called_with( req.context, ('node_update', { 'identity': nid, 'name': 'test_node', 'profile_id': 'profile-not-exist', 'role': None, 'metadata': {}, }) ) self.assertEqual(404, resp.json['code']) self.assertEqual('ProfileNotFound', resp.json['error']['type'])
def test_profile_validate_invalide_spec(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'validate', True) body = { 'profile': { 'spec': { 'type': 'os.nova.server', 'version': '1.0' } } } req = self._post('/profiles/validate', jsonutils.dumps(body), version='1.2') msg = 'Spec validation error' error = senlin_exc.InvalidSpec(message=msg) mock_call.side_effect = shared.to_remote_error(error) obj = mock.Mock() mock_parse.return_value = obj resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.validate, req, body=body) self.assertEqual(400, resp.json['code']) self.assertEqual('InvalidSpec', resp.json['error']['type'])
def test_node_index_cluster_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) cluster_id = 'non-existent' req = self._get('/nodes', {'cluster_id': cluster_id}) error = senlin_exc.ClusterNotFound(cluster=cluster_id) self.patchobject(rpc_client.EngineClient, 'call', side_effect=shared.to_remote_error(error)) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.index, req) self.assertEqual(404, resp.json['code']) self.assertEqual('ClusterNotFound', resp.json['error']['type'])
def test_policy_type_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) type_name = 'BogusPolicyType' req = self._get('/policy_types/%(type)s' % {'type': type_name}) error = senlin_exc.ResourceNotFound(type='policy_type', id=type_name) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, type_name=type_name) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_profile_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) pid = 'non-existent-profile' req = self._get('/profiles/%(profile_id)s' % {'profile_id': pid}) error = senlin_exc.ProfileNotFound(profile=pid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, profile_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('ProfileNotFound', resp.json['error']['type'])
def test_action_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) action_id = 'non-existent-action' req = self._get('/actions/%(action_id)s' % {'action_id': action_id}) error = senlin_exc.ActionNotFound(action=action_id) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, action_id=action_id) self.assertEqual(404, resp.json['code']) self.assertEqual('ActionNotFound', resp.json['error']['type'])
def test_receiver_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) wid = 'non-existent-receiver' req = self._get('/receivers/%(receiver_id)s' % {'receiver_id': wid}) error = senlin_exc.ResourceNotFound(type='receiver', id=wid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, receiver_id=wid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_event_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) event_id = 'non-existent-event' req = self._get('/events/%(event_id)s' % {'event_id': event_id}) error = senlin_exc.EventNotFound(event=event_id) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, event_id=event_id) self.assertEqual(404, resp.json['code']) self.assertEqual('EventNotFound', resp.json['error']['type'])
def test_node_delete_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) nid = 'aaaa-bbbb-cccc' req = self._delete('/nodes/%(node_id)s' % {'node_id': nid}) error = senlin_exc.ResourceNotFound(type='node', id=nid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, node_id=nid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_node_delete_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) nid = 'aaaa-bbbb-cccc' req = self._delete('/nodes/%(node_id)s' % {'node_id': nid}) error = senlin_exc.NodeNotFound(node=nid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, node_id=nid) self.assertEqual(404, resp.json['code']) self.assertEqual('NodeNotFound', resp.json['error']['type'])
def test_receiver_notify_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'notify', True) wid = 'aaaa-bbbb-cccc' req = self._post('/receivers/%(receiver_id)s/notify' % { 'receiver_id': wid}, None) error = senlin_exc.ResourceNotFound(type='receiver', id=wid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.notify, req, receiver_id=wid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_profile_delete_resource_in_use(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) pid = 'aaaa-bbbb-cccc' req = self._delete('/profiles/%(profile_id)s' % {'profile_id': pid}) error = senlin_exc.ResourceInUse(resource_type='profile', resource_id=pid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, profile_id=pid) self.assertEqual(409, resp.json['code']) self.assertEqual('ResourceInUse', resp.json['error']['type'])
def test_profile_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) pid = 'non-existent-profile' req = self._get('/profiles/%(profile_id)s' % {'profile_id': pid}) error = senlin_exc.ProfileNotFound(profile=pid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, profile_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('ProfileNotFound', resp.json['error']['type'])
def test_profile_delete_resource_in_use(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) pid = 'aaaa-bbbb-cccc' req = self._delete('/profiles/%(profile_id)s' % {'profile_id': pid}) error = senlin_exc.ResourceInUse(type='profile', id=pid, reason='still in use') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, profile_id=pid) self.assertEqual(409, resp.json['code']) self.assertEqual('ResourceInUse', resp.json['error']['type'])
def test_node_action_recover_node_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'action', True) node_id = 'xxxx-yyyy' body = {'recover': {}} req = self._post('/nodes/%(node_id)s/actions' % {'node_id': node_id}, jsonutils.dumps(body)) error = senlin_exc.ResourceNotFound(type='node', id=node_id) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.action, req, node_id=node_id, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_node_action_check_node_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'action', True) node_id = 'unknown-node' body = {'check': {}} req = self._post('/nodes/%(node_id)s/actions' % {'node_id': node_id}, jsonutils.dumps(body)) error = senlin_exc.NodeNotFound(node=node_id) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.action, req, node_id=node_id, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('NodeNotFound', resp.json['error']['type'])
def test_policy_delete_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) pid = 'FAKE_ID' req = self._delete('/policies/%s' % pid) error = senlin_exc.ResourceNotFound(type='policy', id=pid) mock_call.side_effect = shared.to_remote_error(error) obj = mock.Mock() mock_parse.return_value = obj resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, policy_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type'])
def test_policy_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) pid = 'non-existent-policy' req = self._get('/policies/%s' % pid) error = senlin_exc.ResourceNotFound(type='policy', id=pid) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, policy_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with("PolicyGetRequest", mock.ANY, {'identity': pid})
def test_cluster_policy_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) cid = 'FAKE_CLUSTER' pid = 'FAKE_POLICY' req = self._get('/cluster_policies/%(cid)s/%(pid)s' '' % {'cid': cid, 'pid': pid}) error = senlin_exc.PolicyBindingNotFound(policy=pid, identity=cid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, cluster_id=cid, policy_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('PolicyBindingNotFound', resp.json['error']['type'])
def test_node_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) node_id = 'non-existent-node' req = self._get('/nodes/%(node_id)s' % {'node_id': node_id}) error = senlin_exc.ResourceNotFound(type='node', id=node_id) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, node_id=node_id) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with('NodeGetRequest', mock.ANY, {'identity': node_id}) mock_call.assert_called_once_with(req.context, 'node_get2', mock.ANY)
def test_policy_type_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) type_name = 'BogusPolicyType' req = self._get('/policy_types/%(type)s' % {'type': type_name}) error = senlin_exc.PolicyTypeNotFound(policy_type=type_name) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, type_name=type_name) mock_call.assert_called_once_with( req.context, ('policy_type_get', {'type_name': type_name})) self.assertEqual(404, resp.json['code']) self.assertEqual('PolicyTypeNotFound', resp.json['error']['type'])
def test_profile_type_get_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) type_name = 'BogusProfileType' req = self._get('/profile_types/%(type)s' % {'type': type_name}) error = senlin_exc.ProfileTypeNotFound(profile_type=type_name) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, type_name=type_name) mock_call.assert_called_once_with( req.context, ('profile_type_get', {'type_name': type_name})) self.assertEqual(404, resp.json['code']) self.assertEqual('ProfileTypeNotFound', resp.json['error']['type'])
def test_event_index_global_project_true(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) params = {'global_project': 'True'} req = self._get('/events', params=params) obj = mock.Mock() mock_parse.return_value = obj error = senlin_exc.Forbidden() mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.index, req) self.assertEqual(403, resp.json['code']) self.assertEqual('Forbidden', resp.json['error']['type']) mock_parse.assert_called_once_with("EventListRequest", mock.ANY, {'project_safe': False}) mock_call.assert_called_once_with(req.context, 'event_list', obj)
def test_action_get_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'get', True) action_id = 'non-existent-action' req = self._get('/actions/%(action_id)s' % {'action_id': action_id}) obj = mock.Mock() mock_parse.return_value = obj error = senlin_exc.ResourceNotFound(type='action', id=action_id) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.get, req, action_id=action_id) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with('ActionGetRequest', mock.ANY, {'identity': action_id}) mock_call.assert_called_once_with(req.context, 'action_get', obj)
def test_policy_update_not_found(self, mock_enforce): self._mock_enforce_setup(mock_enforce, 'update', True) pid = 'non-existent-policy' body = { 'policy': { 'name': 'new_policy', } } req = self._patch('/policies/%(policy_id)s' % {'policy_id': pid}, jsonutils.dumps(body)) error = senlin_exc.PolicyNotFound(policy=pid) mock_call = self.patchobject(rpc_client.EngineClient, 'call') mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.update, req, policy_id=pid, body=body) self.assertEqual(404, resp.json['code']) self.assertEqual('PolicyNotFound', resp.json['error']['type'])
def test_node_index_cluster_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'index', True) cluster_id = 'non-existent' req = self._get('/nodes', {'cluster_id': cluster_id}) obj = mock.Mock() mock_parse.return_value = obj msg = "Cannot find the given cluster: non-existent" error = senlin_exc.BadRequest(msg=msg) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.index, req) self.assertEqual(400, resp.json['code']) self.assertEqual('BadRequest', resp.json['error']['type']) mock_parse.assert_called_once_with('NodeListRequest', mock.ANY, { 'cluster_id': 'non-existent', 'project_safe': True }) mock_call.assert_called_once_with(req.context, 'node_list2', obj)
def test_profile_delete_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'delete', True) pid = 'aaaa-bbbb-cccc' req = self._delete('/profiles/%(profile_id)s' % {'profile_id': pid}) error = senlin_exc.ResourceNotFound(type='profile', id=pid) mock_call.side_effect = shared.to_remote_error(error) obj = mock.Mock() mock_parse.return_value = obj resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.delete, req, profile_id=pid) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with( 'ProfileDeleteRequest', mock.ANY, {'identity': pid}) mock_call.assert_called_once_with( req.context, 'profile_delete', obj)
def test_profile_type_ops_not_found(self, mock_call, mock_parse, mock_enforce): self._mock_enforce_setup(mock_enforce, 'ops', True) type_name = 'BogusProfileType' req = self._get('/profile_types/%(type)s/ops' % {'type': type_name}, version='1.4') error = senlin_exc.ResourceNotFound(type='profile_type', id=type_name) mock_call.side_effect = shared.to_remote_error(error) resp = shared.request_with_middleware(fault.FaultWrapper, self.controller.ops, req, type_name=type_name) self.assertEqual(404, resp.json['code']) self.assertEqual('ResourceNotFound', resp.json['error']['type']) mock_parse.assert_called_once_with('ProfileTypeOpListRequest', mock.ANY, {'type_name': type_name}) mock_call.assert_called_once_with(req.context, 'profile_type_ops', mock.ANY)