func (s *runSuite) TestRunOnAllMachinesRequiresAdmin(c *gc.C) { alpha := names.NewUserTag("alpha@bravo") auth := apiservertesting.FakeAuthorizer{ Tag: alpha, HasWriteTag: alpha, } client, err := action.NewActionAPI(s.State, nil, auth) c.Assert(err, jc.ErrorIsNil) _, err = client.RunOnAllMachines(params.RunParams{}) c.Assert(errors.Cause(err), gc.Equals, common.ErrPerm) auth.AdminTag = alpha client, err = action.NewActionAPI(s.State, nil, auth) c.Assert(err, jc.ErrorIsNil) _, err = client.RunOnAllMachines(params.RunParams{}) c.Assert(err, jc.ErrorIsNil) }
func (s *actionSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) s.BlockHelper = commontesting.NewBlockHelper(s.APIState) s.AddCleanup(func(*gc.C) { s.BlockHelper.Close() }) s.authorizer = apiservertesting.FakeAuthorizer{ Tag: s.AdminUserTag(c), } var err error s.action, err = action.NewActionAPI(s.State, nil, s.authorizer) c.Assert(err, jc.ErrorIsNil) factory := jujuFactory.NewFactory(s.State) s.charm = factory.MakeCharm(c, &jujuFactory.CharmParams{ Name: "wordpress", }) s.dummy = factory.MakeService(c, &jujuFactory.ServiceParams{ Name: "dummy", Charm: factory.MakeCharm(c, &jujuFactory.CharmParams{ Name: "dummy", }), Creator: s.AdminUserTag(c), }) s.wordpress = factory.MakeService(c, &jujuFactory.ServiceParams{ Name: "wordpress", Charm: s.charm, Creator: s.AdminUserTag(c), }) s.machine0 = factory.MakeMachine(c, &jujuFactory.MachineParams{ Series: "quantal", Jobs: []state.MachineJob{state.JobHostUnits, state.JobManageModel}, }) s.wordpressUnit = factory.MakeUnit(c, &jujuFactory.UnitParams{ Service: s.wordpress, Machine: s.machine0, }) mysqlCharm := factory.MakeCharm(c, &jujuFactory.CharmParams{ Name: "mysql", }) s.mysql = factory.MakeService(c, &jujuFactory.ServiceParams{ Name: "mysql", Charm: mysqlCharm, Creator: s.AdminUserTag(c), }) s.machine1 = factory.MakeMachine(c, &jujuFactory.MachineParams{ Series: "quantal", Jobs: []state.MachineJob{state.JobHostUnits}, }) s.mysqlUnit = factory.MakeUnit(c, &jujuFactory.UnitParams{ Service: s.mysql, Machine: s.machine1, }) s.resources = common.NewResources() s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() }) }
func (s *runSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) s.BlockHelper = commontesting.NewBlockHelper(s.APIState) s.AddCleanup(func(*gc.C) { s.BlockHelper.Close() }) var err error auth := apiservertesting.FakeAuthorizer{ Tag: s.AdminUserTag(c), } s.client, err = action.NewActionAPI(s.State, nil, auth) c.Assert(err, jc.ErrorIsNil) }