本文整理汇总了Golang中github.com/juju/juju/worker/machineundertaker.Undertaker类的典型用法代码示例。如果您正苦于以下问题:Golang Undertaker类的具体用法?Golang Undertaker怎么用?Golang Undertaker使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Undertaker类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestMaybeReleaseAddresses_NoNetworking
func (*undertakerSuite) TestMaybeReleaseAddresses_NoNetworking(c *gc.C) {
api := fakeAPI{Stub: &testing.Stub{}}
u := machineundertaker.Undertaker{API: &api}
err := u.MaybeReleaseAddresses(names.NewMachineTag("3"))
c.Assert(err, jc.ErrorIsNil)
api.CheckCallNames(c)
}
示例2: TestHandle_NoRemovalOnErrorReleasing
func (*undertakerSuite) TestHandle_NoRemovalOnErrorReleasing(c *gc.C) {
api := fakeAPI{
Stub: &testing.Stub{},
removals: []string{"3", "4/lxd/4", "5"},
interfaces: map[string][]network.ProviderInterfaceInfo{
"4/lxd/4": []network.ProviderInterfaceInfo{
{InterfaceName: "chloe"},
},
},
}
releaser := fakeReleaser{Stub: &testing.Stub{}}
releaser.SetErrors(errors.New("couldn't release address"))
u := machineundertaker.Undertaker{
API: &api,
Releaser: &releaser,
}
err := u.Handle(nil)
c.Assert(err, jc.ErrorIsNil)
c.Assert(releaser.Calls(), gc.HasLen, 1)
releaser.CheckCall(c, 0, "ReleaseContainerAddresses",
[]network.ProviderInterfaceInfo{{InterfaceName: "chloe"}},
)
checkRemovalsMatch(c, api.Stub, "3", "5")
}
示例3: TestMaybeReleaseAddresses_NoAddresses
func (*undertakerSuite) TestMaybeReleaseAddresses_NoAddresses(c *gc.C) {
api := fakeAPI{Stub: &testing.Stub{}}
releaser := fakeReleaser{Stub: &testing.Stub{}}
u := machineundertaker.Undertaker{
API: &api,
Releaser: &releaser,
}
err := u.MaybeReleaseAddresses(names.NewMachineTag("4/lxd/4"))
c.Assert(err, jc.ErrorIsNil)
releaser.CheckCallNames(c)
}
示例4: TestMaybeReleaseAddresses_ErrorGettingInfo
func (*undertakerSuite) TestMaybeReleaseAddresses_ErrorGettingInfo(c *gc.C) {
api := fakeAPI{Stub: &testing.Stub{}}
api.SetErrors(errors.New("a funny thing happened on the way"))
releaser := fakeReleaser{}
u := machineundertaker.Undertaker{
API: &api,
Releaser: &releaser,
}
err := u.MaybeReleaseAddresses(names.NewMachineTag("4/lxd/2"))
c.Assert(err, gc.ErrorMatches, "a funny thing happened on the way")
}
示例5: TestHandle_ErrorOnRemoval
func (*undertakerSuite) TestHandle_ErrorOnRemoval(c *gc.C) {
api := fakeAPI{
Stub: &testing.Stub{},
removals: []string{"3", "4/lxd/4"},
}
api.SetErrors(nil, errors.New("couldn't remove machine 3"))
u := machineundertaker.Undertaker{API: &api}
err := u.Handle(nil)
c.Assert(err, jc.ErrorIsNil)
checkRemovalsMatch(c, api.Stub, "3", "4/lxd/4")
}
示例6: TestMaybeReleaseAddresses_Success
func (*undertakerSuite) TestMaybeReleaseAddresses_Success(c *gc.C) {
api := fakeAPI{
Stub: &testing.Stub{},
interfaces: map[string][]network.ProviderInterfaceInfo{
"4/lxd/4": []network.ProviderInterfaceInfo{
{InterfaceName: "chloe"},
},
},
}
releaser := fakeReleaser{Stub: &testing.Stub{}}
u := machineundertaker.Undertaker{
API: &api,
Releaser: &releaser,
}
err := u.MaybeReleaseAddresses(names.NewMachineTag("4/lxd/4"))
c.Assert(err, jc.ErrorIsNil)
releaser.CheckCall(c, 0, "ReleaseContainerAddresses",
[]network.ProviderInterfaceInfo{{InterfaceName: "chloe"}},
)
}
示例7: TestMaybeReleaseAddresses_ErrorReleasing
func (*undertakerSuite) TestMaybeReleaseAddresses_ErrorReleasing(c *gc.C) {
api := fakeAPI{
Stub: &testing.Stub{},
interfaces: map[string][]network.ProviderInterfaceInfo{
"4/lxd/4": []network.ProviderInterfaceInfo{
{InterfaceName: "chloe"},
},
},
}
releaser := fakeReleaser{Stub: &testing.Stub{}}
releaser.SetErrors(errors.New("something unexpected"))
u := machineundertaker.Undertaker{
API: &api,
Releaser: &releaser,
}
err := u.MaybeReleaseAddresses(names.NewMachineTag("4/lxd/4"))
c.Assert(err, gc.ErrorMatches, "something unexpected")
releaser.CheckCall(c, 0, "ReleaseContainerAddresses",
[]network.ProviderInterfaceInfo{{InterfaceName: "chloe"}},
)
}