// Logger returns an object that provides access to the Logger API facade. // The id argument is reserved for future use and must be empty. func (r *srvRoot) Logger(id string) (*loggerapi.LoggerAPI, error) { if id != "" { // TODO: There is no direct test for this return nil, common.ErrBadId } return loggerapi.NewLoggerAPI(r.srv.state, r.resources, r) }
func (s *loggerSuite) TestNewLoggerAPIRefusesNonAgent(c *gc.C) { // We aren't even a machine agent anAuthorizer := s.authorizer anAuthorizer.MachineAgent = false endPoint, err := logger.NewLoggerAPI(s.State, s.resources, anAuthorizer) c.Assert(endPoint, gc.IsNil) c.Assert(err, gc.ErrorMatches, "permission denied") }
func (s *loggerSuite) TestNewLoggerAPIAcceptsUnitAgent(c *gc.C) { // We aren't even a machine agent anAuthorizer := s.authorizer anAuthorizer.UnitAgent = true anAuthorizer.MachineAgent = false endPoint, err := logger.NewLoggerAPI(s.State, s.resources, anAuthorizer) c.Assert(err, gc.IsNil) c.Assert(endPoint, gc.NotNil) }
func (s *loggerSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) s.resources = common.NewResources() s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() }) // Create a machine to work with var err error s.rawMachine, err = s.State.AddMachine("quantal", state.JobHostUnits) c.Assert(err, gc.IsNil) // The default auth is as the machine agent s.authorizer = apiservertesting.FakeAuthorizer{ Tag: s.rawMachine.Tag(), LoggedIn: true, MachineAgent: true, } s.logger, err = logger.NewLoggerAPI(s.State, s.resources, s.authorizer) c.Assert(err, gc.IsNil) }