// Resolved returns the current resolved setting for each given unit. func (u *UniterAPIV3) Resolved(args params.Entities) (params.ResolvedModeResults, error) { result := params.ResolvedModeResults{ Results: make([]params.ResolvedModeResult, len(args.Entities)), } canAccess, err := u.accessUnit() if err != nil { return params.ResolvedModeResults{}, err } for i, entity := range args.Entities { tag, err := names.ParseUnitTag(entity.Tag) if err != nil { result.Results[i].Error = common.ServerError(common.ErrPerm) continue } err = common.ErrPerm if canAccess(tag) { var unit *state.Unit unit, err = u.getUnit(tag) if err == nil { result.Results[i].Mode = params.ResolvedMode(unit.Resolved()) } } result.Results[i].Error = common.ServerError(err) } return result, nil }
func (s *clientSuite) assertResolved(c *gc.C, u *state.Unit) { err := s.APIState.Client().Resolved("wordpress/0", false) c.Assert(err, jc.ErrorIsNil) // Freshen the unit's state. err = u.Refresh() c.Assert(err, jc.ErrorIsNil) // And now the actual test assertions: we set the unit as resolved via // the API so it should have a resolved mode set. mode := u.Resolved() c.Assert(mode, gc.Equals, state.ResolvedRetryHooks) }