本文整理匯總了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)
}