當前位置: 首頁>>代碼示例>>Golang>>正文


Golang machineundertaker.Undertaker類代碼示例

本文整理匯總了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)
}
開發者ID:bac,項目名稱:juju,代碼行數:7,代碼來源:undertaker_test.go

示例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")
}
開發者ID:bac,項目名稱:juju,代碼行數:26,代碼來源:undertaker_test.go

示例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)
}
開發者ID:bac,項目名稱:juju,代碼行數:11,代碼來源:undertaker_test.go

示例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")
}
開發者ID:bac,項目名稱:juju,代碼行數:11,代碼來源:undertaker_test.go

示例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")
}
開發者ID:bac,項目名稱:juju,代碼行數:11,代碼來源:undertaker_test.go

示例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"}},
	)
}
開發者ID:bac,項目名稱:juju,代碼行數:20,代碼來源:undertaker_test.go

示例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"}},
	)
}
開發者ID:bac,項目名稱:juju,代碼行數:21,代碼來源:undertaker_test.go


注:本文中的github.com/juju/juju/worker/machineundertaker.Undertaker類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。