本文整理匯總了Golang中github.com/cloudfoundry/hm9000/testhelpers/appfixture.AppFixture.Heartbeat方法的典型用法代碼示例。如果您正苦於以下問題:Golang AppFixture.Heartbeat方法的具體用法?Golang AppFixture.Heartbeat怎麽用?Golang AppFixture.Heartbeat使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/hm9000/testhelpers/appfixture.AppFixture
的用法示例。
在下文中一共展示了AppFixture.Heartbeat方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
BeforeEach(func() {
apiServerAddr = fmt.Sprintf("http://%s:%d", cliRunner.config.APIServerAddress, cliRunner.config.APIServerPort)
requestGenerator = rata.NewRequestGenerator(apiServerAddr, apiserver.Routes)
httpClient = &http.Client{
Transport: &http.Transport{},
}
username = cliRunner.config.APIServerUsername
password = cliRunner.config.APIServerPassword
a = appfixture.NewAppFixture()
b = appfixture.NewAppFixture()
validRequest = fmt.Sprintf(`[{"droplet":"%s","version":"%s"}, {"droplet":"%s","version":"%s"}]`, a.AppGuid, a.AppVersion, b.AppGuid, b.AppVersion)
simulator.SetDesiredState(a.DesiredState(2), b.DesiredState(3))
simulator.SetCurrentHeartbeats(a.Heartbeat(1), b.Heartbeat(1))
})
AfterEach(func() {
cliRunner.StopAPIServer()
})
Context("when the store is fresh", func() {
BeforeEach(func() {
simulator.Tick(simulator.TicksToAttainFreshness)
cliRunner.StartAPIServer(simulator.currentTimestamp)
})
It("returns the apps", func() {
getAppstatus, err := requestGenerator.CreateRequest(
"bulk_app_state",
示例2:
Ω(messages).Should(HaveLen(1))
Ω(messageBus.PublishedMessages).ShouldNot(HaveKey("hm9000.start"))
})
})
})
})
Context("when there are stop messages", func() {
var keepAliveTime int
var sentOn int64
var err error
var pendingMessage models.PendingStopMessage
var storeSetErrInjector *fakestoreadapter.FakeStoreAdapterErrorInjector
JustBeforeEach(func() {
store.SyncHeartbeats(app.Heartbeat(2))
pendingMessage = models.NewPendingStopMessage(time.Unix(100, 0), 30, keepAliveTime, app.AppGuid, app.AppVersion, app.InstanceAtIndex(0).InstanceGuid, models.PendingStopMessageReasonInvalid)
pendingMessage.SentOn = sentOn
store.SavePendingStopMessages(
pendingMessage,
)
storeAdapter.SetErrInjector = storeSetErrInjector
err = sender.Send()
})
BeforeEach(func() {
keepAliveTime = 0
sentOn = 0
err = nil
示例3:
It("should not send any start or stop messages", func() {
err := analyzer.Analyze()
Ω(err).ShouldNot(HaveOccurred())
Ω(startMessages()).Should(BeEmpty())
Ω(stopMessages()).Should(BeEmpty())
})
})
Context("When the desired number of instances and the running number of instances match", func() {
BeforeEach(func() {
desired := app.DesiredState(3)
desired.State = models.AppStateStarted
store.SyncDesiredState(
desired,
)
store.SyncHeartbeats(app.Heartbeat(3))
})
It("should not send any start or stop messages", func() {
err := analyzer.Analyze()
Ω(err).ShouldNot(HaveOccurred())
Ω(startMessages()).Should(BeEmpty())
Ω(stopMessages()).Should(BeEmpty())
})
})
})
Describe("Starting missing instances", func() {
Context("where an app has desired instances", func() {
BeforeEach(func() {
store.SyncDesiredState(
示例4:
"github.com/cloudfoundry/hm9000/testhelpers/appfixture"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Simple Cases Test", func() {
var app1, app2 appfixture.AppFixture
BeforeEach(func() {
app1 = appfixture.NewAppFixture()
app2 = appfixture.NewAppFixture()
})
Context("when all running instances are desired", func() {
BeforeEach(func() {
simulator.SetCurrentHeartbeats(app1.Heartbeat(1), app2.Heartbeat(1))
simulator.SetDesiredState(app1.DesiredState(1), app2.DesiredState(1))
simulator.Tick(simulator.TicksToAttainFreshness)
simulator.Tick(1)
})
It("should not send any messages", func() {
Ω(startStopListener.Starts).Should(BeEmpty())
Ω(startStopListener.Stops).Should(BeEmpty())
})
})
Context("when a desired app is pending staging", func() {
Context("and it has a running instance", func() {
BeforeEach(func() {
desired := app1.DesiredState(1)