func (s *agentSuite) TestClearReboot(c *gc.C) { api, err := agent.NewAgentAPIV2(s.State, s.resources, s.authorizer) c.Assert(err, jc.ErrorIsNil) err = s.machine1.SetRebootFlag(true) c.Assert(err, jc.ErrorIsNil) args := params.Entities{Entities: []params.Entity{ {Tag: s.machine0.Tag().String()}, {Tag: s.machine1.Tag().String()}, }} rFlag, err := s.machine1.GetRebootFlag() c.Assert(err, jc.ErrorIsNil) c.Assert(rFlag, jc.IsTrue) result, err := api.ClearReboot(args) c.Assert(err, jc.ErrorIsNil) c.Assert(result, gc.DeepEquals, params.ErrorResults{ Results: []params.ErrorResult{ {apiservertesting.ErrUnauthorized}, {nil}, }, }) rFlag, err = s.machine1.GetRebootFlag() c.Assert(err, jc.ErrorIsNil) c.Assert(rFlag, jc.IsFalse) }
func (s *agentSuite) TestGetEntities(c *gc.C) { err := s.container.Destroy() c.Assert(err, jc.ErrorIsNil) args := params.Entities{ Entities: []params.Entity{ {Tag: "machine-1"}, {Tag: "machine-0"}, {Tag: "machine-1-lxc-0"}, {Tag: "machine-42"}, }, } api, err := agent.NewAgentAPIV2(s.State, s.resources, s.authorizer) c.Assert(err, jc.ErrorIsNil) results := api.GetEntities(args) c.Assert(results, gc.DeepEquals, params.AgentGetEntitiesResults{ Entities: []params.AgentGetEntitiesResult{ { Life: "alive", Jobs: []multiwatcher.MachineJob{multiwatcher.JobHostUnits}, }, {Error: apiservertesting.ErrUnauthorized}, {Error: apiservertesting.ErrUnauthorized}, {Error: apiservertesting.ErrUnauthorized}, }, }) }
func (s *agentSuite) TestGetEntitiesNotFound(c *gc.C) { // Destroy the container first, so we can destroy its parent. err := s.container.Destroy() c.Assert(err, jc.ErrorIsNil) err = s.container.EnsureDead() c.Assert(err, jc.ErrorIsNil) err = s.container.Remove() c.Assert(err, jc.ErrorIsNil) err = s.machine1.Destroy() c.Assert(err, jc.ErrorIsNil) err = s.machine1.EnsureDead() c.Assert(err, jc.ErrorIsNil) err = s.machine1.Remove() c.Assert(err, jc.ErrorIsNil) api, err := agent.NewAgentAPIV2(s.State, s.resources, s.authorizer) c.Assert(err, jc.ErrorIsNil) results := api.GetEntities(params.Entities{ Entities: []params.Entity{{Tag: "machine-1"}}, }) c.Assert(err, jc.ErrorIsNil) c.Assert(results, gc.DeepEquals, params.AgentGetEntitiesResults{ Entities: []params.AgentGetEntitiesResult{{ Error: ¶ms.Error{ Code: params.CodeNotFound, Message: "machine 1 not found", }, }}, }) }
func (s *agentSuite) TestAgentFailsWithNonAgent(c *gc.C) { auth := s.authorizer auth.Tag = names.NewUserTag("admin") api, err := agent.NewAgentAPIV2(s.State, s.resources, auth) c.Assert(err, gc.NotNil) c.Assert(api, gc.IsNil) c.Assert(err, gc.ErrorMatches, "permission denied") }
func (s *agentSuite) TestSetPasswordsShort(c *gc.C) { api, err := agent.NewAgentAPIV2(s.State, s.resources, s.authorizer) c.Assert(err, jc.ErrorIsNil) results, err := api.SetPasswords(params.EntityPasswords{ Changes: []params.EntityPassword{ {Tag: "machine-1", Password: "******"}, }, }) c.Assert(err, jc.ErrorIsNil) c.Assert(results.Results, gc.HasLen, 1) c.Assert(results.Results[0].Error, gc.ErrorMatches, "password is only 3 bytes long, and is not a valid Agent password") }
func (s *ProxyUpdaterSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) var err error s.machine0, err = s.State.AddMachine("quantal", state.JobHostUnits, state.JobManageModel) c.Assert(err, jc.ErrorIsNil) s.authorizer = apiservertesting.FakeAuthorizer{ Tag: s.machine0.Tag(), } s.resources = common.NewResources() s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() }) s.api, err = agent.NewAgentAPIV2( s.State, s.resources, s.authorizer, ) c.Assert(err, jc.ErrorIsNil) s.ModelWatcherTest = commontesting.NewModelWatcherTest( s.api, s.State, s.resources, commontesting.NoSecrets) }
func (s *agentSuite) TestSetPasswords(c *gc.C) { api, err := agent.NewAgentAPIV2(s.State, s.resources, s.authorizer) c.Assert(err, jc.ErrorIsNil) results, err := api.SetPasswords(params.EntityPasswords{ Changes: []params.EntityPassword{ {Tag: "machine-0", Password: "******"}, {Tag: "machine-1", Password: "******"}, {Tag: "machine-42", Password: "******"}, }, }) c.Assert(err, jc.ErrorIsNil) c.Assert(results, gc.DeepEquals, params.ErrorResults{ Results: []params.ErrorResult{ {apiservertesting.ErrUnauthorized}, {nil}, {apiservertesting.ErrUnauthorized}, }, }) err = s.machine1.Refresh() c.Assert(err, jc.ErrorIsNil) changed := s.machine1.PasswordValid("yyy-12345678901234567890") c.Assert(changed, jc.IsTrue) }
func (s *agentSuite) TestAgentSucceedsWithUnitAgent(c *gc.C) { auth := s.authorizer auth.Tag = names.NewUnitTag("foosball/1") _, err := agent.NewAgentAPIV2(s.State, s.resources, auth) c.Assert(err, jc.ErrorIsNil) }