func (s *actionsSuite) TestFinishActions(c *gc.C) { args := params.ActionExecutionResults{ []params.ActionExecutionResult{ {ActionTag: "success", Status: string(state.ActionCompleted)}, {ActionTag: "notfound"}, {ActionTag: "convertFail", Status: "failStatus"}, {ActionTag: "finishFail", Status: string(state.ActionCancelled)}, }, } expectErr := errors.New("explosivo") actionFn := makeGetActionByTagString(map[string]state.Action{ "success": fakeAction{}, "convertFail": fakeAction{}, "finishFail": fakeAction{finishErr: expectErr}, }) results := common.FinishActions(args, actionFn) c.Assert(results, jc.DeepEquals, params.ErrorResults{ []params.ErrorResult{ {}, {common.ServerError(actionNotFoundErr)}, {common.ServerError(errors.New("unrecognized action status 'failStatus'"))}, {common.ServerError(expectErr)}, }, }) }
// FinishActions saves the result of a completed Action func (u *UniterAPIV3) FinishActions(args params.ActionExecutionResults) (params.ErrorResults, error) { canAccess, err := u.accessUnit() if err != nil { return params.ErrorResults{}, err } actionFn := common.AuthAndActionFromTagFn(canAccess, u.st.ActionByTag) return common.FinishActions(args, actionFn), nil }
// FinishActions saves the result of a completed Action func (f *Facade) FinishActions(args params.ActionExecutionResults) params.ErrorResults { actionFn := common.AuthAndActionFromTagFn(f.accessMachine, f.backend.ActionByTag) return common.FinishActions(args, actionFn) }