本文整理汇总了Golang中github.com/cloudfoundry-incubator/garden/fakes.FakeBackend.GraceTimeReturns方法的典型用法代码示例。如果您正苦于以下问题:Golang FakeBackend.GraceTimeReturns方法的具体用法?Golang FakeBackend.GraceTimeReturns怎么用?Golang FakeBackend.GraceTimeReturns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry-incubator/garden/fakes.FakeBackend
的用法示例。
在下文中一共展示了FakeBackend.GraceTimeReturns方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
Properties: map[string]string{
"prop-a": "val-a",
"prop-b": "val-b",
},
Env: []string{"env1=env1Value", "env2=env2Value"},
}))
})
Context("when a grace time is given", func() {
It("destroys the container after it has been idle for the grace time", func() {
graceTime := time.Second
fakeContainer = new(fakes.FakeContainer)
fakeContainer.HandleReturns("doomed-handle")
serverBackend.GraceTimeReturns(graceTime)
serverBackend.CreateReturns(fakeContainer, nil)
serverBackend.LookupReturns(fakeContainer, nil)
before := time.Now()
_, err := apiClient.Create(garden.ContainerSpec{})
Ω(err).ShouldNot(HaveOccurred())
Eventually(serverBackend.DestroyCallCount, 2*time.Second).Should(Equal(1))
Ω(serverBackend.DestroyArgsForCall(0)).Should(Equal("doomed-handle"))
Ω(time.Since(before)).Should(BeNumerically("~", graceTime, 100*time.Millisecond))
})
})
示例2:
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"time"
"github.com/cloudfoundry-incubator/garden"
"github.com/cloudfoundry-incubator/garden/fakes"
"github.com/cloudfoundry-incubator/garden/server/bomberman"
)
var _ = Describe("Bomberman", func() {
It("straps a bomb to the given container with the container's grace time as the countdown", func() {
detonated := make(chan garden.Container)
backend := new(fakes.FakeBackend)
backend.GraceTimeReturns(100 * time.Millisecond)
bomberman := bomberman.New(backend, func(container garden.Container) {
detonated <- container
})
container := new(fakes.FakeContainer)
container.HandleReturns("doomed")
bomberman.Strap(container)
select {
case <-detonated:
case <-time.After(backend.GraceTime(container) + 50*time.Millisecond):
Fail("did not detonate!")
}
示例3:
Ω(fakeBackend.StartCallCount()).Should(Equal(1))
})
It("destroys containers that have been idle for their grace time", func() {
var err error
tmpdir, err = ioutil.TempDir(os.TempDir(), "api-server-test")
Ω(err).ShouldNot(HaveOccurred())
socketPath := path.Join(tmpdir, "api.sock")
fakeBackend := new(fakes.FakeBackend)
doomedContainer := new(fakes.FakeContainer)
fakeBackend.ContainersReturns([]garden.Container{doomedContainer}, nil)
fakeBackend.GraceTimeReturns(100 * time.Millisecond)
apiServer := server.New("unix", socketPath, 0, fakeBackend, logger)
before := time.Now()
err = apiServer.Start()
Ω(err).ShouldNot(HaveOccurred())
Ω(fakeBackend.DestroyCallCount()).Should(Equal(0))
Eventually(fakeBackend.DestroyCallCount).Should(Equal(1))
Ω(time.Since(before)).Should(BeNumerically(">", 100*time.Millisecond))
})
Context("when starting the backend fails", func() {