本文整理汇总了Golang中github.com/juju/juju/apiserver/upgrader.NewUnitUpgraderAPI函数的典型用法代码示例。如果您正苦于以下问题:Golang NewUnitUpgraderAPI函数的具体用法?Golang NewUnitUpgraderAPI怎么用?Golang NewUnitUpgraderAPI使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewUnitUpgraderAPI函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestUpgraderAPIRefusesNonUnitAgent
func (s *unitUpgraderSuite) TestUpgraderAPIRefusesNonUnitAgent(c *gc.C) {
anAuthorizer := s.authorizer
anAuthorizer.Tag = names.NewMachineTag("7")
anUpgrader, err := upgrader.NewUnitUpgraderAPI(s.State, s.resources, anAuthorizer)
c.Check(err, gc.NotNil)
c.Check(anUpgrader, gc.IsNil)
c.Assert(err, gc.ErrorMatches, "permission denied")
}
示例2: TestDesiredVersionRefusesWrongAgent
func (s *unitUpgraderSuite) TestDesiredVersionRefusesWrongAgent(c *gc.C) {
anAuthorizer := s.authorizer
anAuthorizer.Tag = names.NewUnitTag("wordpress/12354")
anUpgrader, err := upgrader.NewUnitUpgraderAPI(s.State, s.resources, anAuthorizer)
c.Check(err, jc.ErrorIsNil)
args := params.Entities{
Entities: []params.Entity{{Tag: s.rawUnit.Tag().String()}},
}
results, err := anUpgrader.DesiredVersion(args)
// It is not an error to make the request, but the specific item is rejected
c.Assert(err, jc.ErrorIsNil)
c.Check(results.Results, gc.HasLen, 1)
toolResult := results.Results[0]
c.Assert(toolResult.Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
}
示例3: TestWatchAPIVersionRefusesWrongAgent
func (s *unitUpgraderSuite) TestWatchAPIVersionRefusesWrongAgent(c *gc.C) {
// We are a unit agent, but not the one we are trying to track
anAuthorizer := s.authorizer
anAuthorizer.Tag = names.NewUnitTag("wordpress/12354")
anUpgrader, err := upgrader.NewUnitUpgraderAPI(s.State, s.resources, anAuthorizer)
c.Check(err, jc.ErrorIsNil)
args := params.Entities{
Entities: []params.Entity{{Tag: s.rawUnit.Tag().String()}},
}
results, err := anUpgrader.WatchAPIVersion(args)
// It is not an error to make the request, but the specific item is rejected
c.Assert(err, jc.ErrorIsNil)
c.Check(results.Results, gc.HasLen, 1)
c.Check(results.Results[0].NotifyWatcherId, gc.Equals, "")
c.Assert(results.Results[0].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
}
示例4: TestSetToolsRefusesWrongAgent
func (s *unitUpgraderSuite) TestSetToolsRefusesWrongAgent(c *gc.C) {
anAuthorizer := s.authorizer
anAuthorizer.Tag = names.NewUnitTag("wordpress/12354")
anUpgrader, err := upgrader.NewUnitUpgraderAPI(s.State, s.resources, anAuthorizer)
c.Check(err, gc.IsNil)
args := params.EntitiesVersion{
AgentTools: []params.EntityVersion{{
Tag: s.rawUnit.Tag().String(),
Tools: ¶ms.Version{
Version: version.Current,
},
}},
}
results, err := anUpgrader.SetTools(args)
c.Assert(results.Results, gc.HasLen, 1)
c.Assert(results.Results[0].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
}
示例5: SetUpTest
func (s *unitUpgraderSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
s.resources = common.NewResources()
s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() })
// Create a machine and unit to work with
var err error
_, err = s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, jc.ErrorIsNil)
svc := s.AddTestingService(c, "wordpress", s.AddTestingCharm(c, "wordpress"))
s.rawUnit, err = svc.AddUnit()
c.Assert(err, jc.ErrorIsNil)
// Assign the unit to the machine.
s.rawMachine, err = s.rawUnit.AssignToCleanMachine()
c.Assert(err, jc.ErrorIsNil)
// The default auth is as the unit agent
s.authorizer = apiservertesting.FakeAuthorizer{
Tag: s.rawUnit.Tag(),
}
s.upgrader, err = upgrader.NewUnitUpgraderAPI(s.State, s.resources, s.authorizer)
c.Assert(err, jc.ErrorIsNil)
}