本文整理汇总了Golang中github.com/juju/juju/worker/uniter/runner.HookContext类的典型用法代码示例。如果您正苦于以下问题:Golang HookContext类的具体用法?Golang HookContext怎么用?Golang HookContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HookContext类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: addStorageToContext
func addStorageToContext(ctx *runner.HookContext,
name string,
cons params.StorageConstraints,
) {
addOne := map[string]params.StorageConstraints{name: cons}
ctx.AddUnitStorage(addOne)
}
示例2: assertStorageAddInContext
func assertStorageAddInContext(c *gc.C,
ctx runner.HookContext, expected map[string][]params.StorageConstraints,
) {
obtained := ctx.StorageAddConstraints()
c.Assert(len(obtained), gc.Equals, len(expected))
for k, v := range obtained {
c.Assert(v, jc.SameContents, expected[k])
}
}
示例3: TestRequestRebootNowNoProcess
func (s *InterfaceSuite) TestRequestRebootNowNoProcess(c *gc.C) {
// A normal hook run or a juju-run command will record the *os.Process
// object of the running command, in HookContext. When requesting a
// reboot with the --now flag, the process is killed and only
// then will we set the reboot priority. This test basically simulates
// the case when the process calling juju-reboot is not recorded.
ctx := runner.HookContext{}
err := ctx.RequestReboot(jujuc.RebootNow)
c.Assert(err, gc.ErrorMatches, "no process to kill")
priority := ctx.GetRebootPriority()
c.Assert(priority, gc.Equals, jujuc.RebootNow)
}
示例4: TestNonActionCallsToActionMethodsFail
// TestNonActionCallsToActionMethodsFail does exactly what its name says:
// it simply makes sure that Action-related calls to HookContexts with a nil
// actionData member error out correctly.
func (s *InterfaceSuite) TestNonActionCallsToActionMethodsFail(c *gc.C) {
ctx := runner.HookContext{}
_, err := ctx.ActionParams()
c.Check(err, gc.ErrorMatches, "not running an action")
err = ctx.SetActionFailed()
c.Check(err, gc.ErrorMatches, "not running an action")
err = ctx.SetActionMessage("foo")
c.Check(err, gc.ErrorMatches, "not running an action")
err = ctx.UpdateActionResults([]string{"1", "2", "3"}, "value")
c.Check(err, gc.ErrorMatches, "not running an action")
}
示例5: TestRequestRebootNow
func (s *InterfaceSuite) TestRequestRebootNow(c *gc.C) {
ctx := runner.HookContext{}
p := s.startProcess(c)
ctx.SetProcess(p)
go func() {
_, err := p.Wait()
c.Assert(err, jc.ErrorIsNil)
}()
err := ctx.RequestReboot(jujuc.RebootNow)
c.Assert(err, jc.ErrorIsNil)
priority := ctx.GetRebootPriority()
c.Assert(priority, gc.Equals, jujuc.RebootNow)
}
示例6: TestRequestRebootAfterHook
func (s *InterfaceSuite) TestRequestRebootAfterHook(c *gc.C) {
if runtime.GOOS == "windows" {
c.Skip("bug 1403084: Cannot send sigterm on windows")
}
ctx := runner.HookContext{}
p := s.startProcess(c)
ctx.SetProcess(p)
err := ctx.RequestReboot(jujuc.RebootAfterHook)
c.Assert(err, jc.ErrorIsNil)
err = p.Signal(syscall.SIGTERM)
c.Assert(err, jc.ErrorIsNil)
_, err = p.Wait()
c.Assert(err, jc.ErrorIsNil)
priority := ctx.GetRebootPriority()
c.Assert(priority, gc.Equals, jujuc.RebootAfterHook)
}