本文整理匯總了Golang中bosh/jobsupervisor/fakes.FakeJobSupervisor.OnJobFailure方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeJobSupervisor.OnJobFailure方法的具體用法?Golang FakeJobSupervisor.OnJobFailure怎麽用?Golang FakeJobSupervisor.OnJobFailure使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類bosh/jobsupervisor/fakes.FakeJobSupervisor
的用法示例。
在下文中一共展示了FakeJobSupervisor.OnJobFailure方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: init
//.........這裏部分代碼省略.........
Expect(err).ToNot(HaveOccurred())
Expect(resumedBefore).To(BeTrue())
})
Context("when heartbeats can be sent", func() {
BeforeEach(func() {
jobName := "fake-job"
jobIndex := 1
specService.Spec = boshas.V1ApplySpec{
JobSpec: boshas.JobSpec{Name: &jobName},
Index: &jobIndex,
}
jobSupervisor.StatusStatus = "fake-state"
platform.FakeVitalsService.GetVitals = boshvitals.Vitals{
Load: []string{"a", "b", "c"},
}
})
expectedJobName := "fake-job"
expectedJobIndex := 1
expectedHb := boshmbus.Heartbeat{
Job: &expectedJobName,
Index: &expectedJobIndex,
JobState: "fake-state",
Vitals: boshvitals.Vitals{Load: []string{"a", "b", "c"}},
}
It("sends initial heartbeat", func() {
err := agent.Run()
Expect(err).ToNot(HaveOccurred())
Expect(handler.InitialHeartbeatSent).To(BeTrue())
Expect(handler.TickHeartbeatsSent).To(BeFalse())
Expect(handler.SendToHealthManagerTopic).To(Equal("heartbeat"))
Expect(handler.SendToHealthManagerPayload.(boshmbus.Heartbeat)).To(Equal(expectedHb))
})
It("sends periodic heartbeats", func() {
err := agent.Run()
Expect(err).ToNot(HaveOccurred())
Expect(handler.TickHeartbeatsSent).To(BeFalse())
time.Sleep(5 * time.Millisecond)
Expect(handler.TickHeartbeatsSent).To(BeTrue())
Expect(handler.SendToHealthManagerTopic).To(Equal("heartbeat"))
Expect(handler.SendToHealthManagerPayload.(boshmbus.Heartbeat)).To(Equal(expectedHb))
})
})
Context("when the agent fails to get job spec for a heartbeat", func() {
BeforeEach(func() {
block := make(chan error)
handler.RunFunc = func() { <-block }
specService.GetErr = errors.New("fake-spec-service-error")
})
It("returns the error", func() {
err := agent.Run()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-spec-service-error"))
})
})
Context("when the agent fails to get vitals for a heartbeat", func() {
BeforeEach(func() {
block := make(chan error)
handler.RunFunc = func() { <-block }
platform.FakeVitalsService.GetErr = errors.New("fake-vitals-service-error")
})
It("returns the error", func() {
err := agent.Run()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-vitals-service-error"))
})
})
It("sets the callback for job failures monitoring", func() {
builtAlert := boshalert.Alert{Id: "some built alert id"}
alertBuilder.BuildAlert = builtAlert
err := agent.Run()
Expect(err).ToNot(HaveOccurred())
Expect(handler.SendToHealthManagerTopic).ToNot(Equal("alert"))
failureAlert := boshalert.MonitAlert{Id: "some random id"}
jobSupervisor.OnJobFailure(failureAlert)
Expect(failureAlert).To(Equal(alertBuilder.BuildInput))
Expect(handler.SendToHealthManagerTopic).To(Equal("alert"))
Expect(builtAlert).To(Equal(handler.SendToHealthManagerPayload))
})
})
})
}