func (s *userManagerSuite) TestSetPasswordForOther(c *gc.C) { alex := s.Factory.MakeUser(c, &factory.UserParams{Name: "alex"}) barb := s.Factory.MakeUser(c, &factory.UserParams{Name: "barb"}) usermanager, err := usermanager.NewUserManagerAPI( s.State, nil, apiservertesting.FakeAuthorizer{Tag: alex.Tag()}) c.Assert(err, jc.ErrorIsNil) args := params.EntityPasswords{ Changes: []params.EntityPassword{{ Tag: barb.Tag().String(), Password: "******", }}} results, err := usermanager.SetPassword(args) c.Assert(err, jc.ErrorIsNil) c.Assert(results.Results, gc.HasLen, 1) c.Assert(results.Results[0], gc.DeepEquals, params.ErrorResult{ Error: ¶ms.Error{ Message: "permission denied", Code: params.CodeUnauthorized, }}) err = barb.Refresh() c.Assert(err, jc.ErrorIsNil) c.Assert(barb.PasswordValid("new-password"), jc.IsFalse) }
func (s *userManagerSuite) TestSetPasswordForSelf(c *gc.C) { alex := s.Factory.MakeUser(c, &factory.UserParams{Name: "alex"}) usermanager, err := usermanager.NewUserManagerAPI( s.State, nil, apiservertesting.FakeAuthorizer{Tag: alex.Tag()}) c.Assert(err, jc.ErrorIsNil) args := params.EntityPasswords{ Changes: []params.EntityPassword{{ Tag: alex.Tag().String(), Password: "******", }}} results, err := usermanager.SetPassword(args) c.Assert(err, jc.ErrorIsNil) c.Assert(results.Results, gc.HasLen, 1) c.Assert(results.Results[0], gc.DeepEquals, params.ErrorResult{Error: nil}) err = alex.Refresh() c.Assert(err, jc.ErrorIsNil) c.Assert(alex.PasswordValid("new-password"), jc.IsTrue) }