// KeyUpdater returns an object that provides access to the KeyUpdater API facade. // The id argument is reserved for future use and must be empty. func (r *srvRoot) KeyUpdater(id string) (*keyupdater.KeyUpdaterAPI, error) { if id != "" { // TODO: There is no direct test for this return nil, common.ErrBadId } return keyupdater.NewKeyUpdaterAPI(r.srv.state, r.resources, r) }
func (s *authorisedKeysSuite) TestNewKeyUpdaterAPIRefusesNonMachineAgent(c *gc.C) { anAuthoriser := s.authoriser anAuthoriser.MachineAgent = false endPoint, err := keyupdater.NewKeyUpdaterAPI(s.State, s.resources, anAuthoriser) c.Assert(endPoint, gc.IsNil) c.Assert(err, gc.ErrorMatches, "permission denied") }
func (s *authorisedKeysSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) s.resources = common.NewResources() s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() }) // Create machines to work with var err error s.rawMachine, err = s.State.AddMachine("quantal", state.JobHostUnits) c.Assert(err, gc.IsNil) s.unrelatedMachine, err = s.State.AddMachine("quantal", state.JobHostUnits) c.Assert(err, gc.IsNil) // The default auth is as a state server s.authoriser = apiservertesting.FakeAuthorizer{ Tag: s.rawMachine.Tag(), LoggedIn: true, MachineAgent: true, } s.keyupdater, err = keyupdater.NewKeyUpdaterAPI(s.State, s.resources, s.authoriser) c.Assert(err, gc.IsNil) }
func (s *authorisedKeysSuite) TestNewKeyUpdaterAPIAcceptsStateServer(c *gc.C) { endPoint, err := keyupdater.NewKeyUpdaterAPI(s.State, s.resources, s.authoriser) c.Assert(err, gc.IsNil) c.Assert(endPoint, gc.NotNil) }