func (s *agentSuite) TestAgentSucceedsWithUnitAgent(c *gc.C) { auth := s.authorizer auth.MachineAgent = false auth.UnitAgent = true _, err := agent.NewAPI(s.State, auth) c.Assert(err, gc.IsNil) }
func (s *agentSuite) TestAgentFailsWithNonAgent(c *gc.C) { auth := s.authorizer auth.MachineAgent = false auth.UnitAgent = false api, err := agent.NewAPI(s.State, auth) c.Assert(err, gc.NotNil) c.Assert(api, gc.IsNil) c.Assert(err, gc.ErrorMatches, "permission denied") }
func (s *agentSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) var err error s.machine0, err = s.State.AddMachine("series", state.JobManageEnviron, state.JobManageState) c.Assert(err, gc.IsNil) s.machine1, err = s.State.AddMachine("series", state.JobHostUnits) c.Assert(err, gc.IsNil) // Create a FakeAuthorizer so we can check permissions, // set up assuming machine 1 has logged in. s.authorizer = apiservertesting.FakeAuthorizer{ Tag: s.machine1.Tag(), LoggedIn: true, Manager: false, MachineAgent: true, } // Create a machiner API for machine 1. s.agent, err = agent.NewAPI(s.State, s.authorizer) c.Assert(err, gc.IsNil) }
// Agent returns an object that provides access to the // agent API. The id argument is reserved for future use and must currently // be empty. func (r *srvRoot) Agent(id string) (*agent.API, error) { if id != "" { return nil, common.ErrBadId } return agent.NewAPI(r.srv.state, r) }