本文整理匯總了Golang中code/cloudfoundry/org/bbs/db/dbfakes.FakeActualLRPDB.CrashActualLRPArgsForCall方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeActualLRPDB.CrashActualLRPArgsForCall方法的具體用法?Golang FakeActualLRPDB.CrashActualLRPArgsForCall怎麽用?Golang FakeActualLRPDB.CrashActualLRPArgsForCall使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類code/cloudfoundry/org/bbs/db/dbfakes.FakeActualLRPDB
的用法示例。
在下文中一共展示了FakeActualLRPDB.CrashActualLRPArgsForCall方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil)
fakeActualLRPDB.CrashActualLRPReturns(&models.ActualLRPGroup{Instance: &actualLRP}, &models.ActualLRPGroup{Instance: &afterActualLRP}, true, nil)
})
It("response with no error", func() {
Expect(responseRecorder.Code).To(Equal(http.StatusOK))
response := &models.ActualLRPLifecycleResponse{}
err := response.Unmarshal(responseRecorder.Body.Bytes())
Expect(err).NotTo(HaveOccurred())
Expect(response.Error).To(BeNil())
})
It("crashes the actual lrp by process guid and index", func() {
Expect(fakeActualLRPDB.CrashActualLRPCallCount()).To(Equal(1))
_, actualKey, actualInstanceKey, actualErrorMessage := fakeActualLRPDB.CrashActualLRPArgsForCall(0)
Expect(*actualKey).To(Equal(key))
Expect(*actualInstanceKey).To(Equal(instanceKey))
Expect(actualErrorMessage).To(Equal(errorMessage))
})
It("emits a crash and change event to the hub", func() {
Eventually(actualHub.EmitCallCount).Should(Equal(2))
event1 := actualHub.EmitArgsForCall(0)
event2 := actualHub.EmitArgsForCall(1)
crashEvent, ok := event1.(*models.ActualLRPCrashedEvent)
if !ok {
crashEvent, ok = event2.(*models.ActualLRPCrashedEvent)
}
Expect(ok).To(BeTrue())
示例2:
_, key, instanceKey := fakeEvacuationDB.RemoveEvacuatingActualLRPArgsForCall(0)
Expect(*key).To(Equal(actual.ActualLRPKey))
Expect(*instanceKey).To(Equal(actual.ActualLRPInstanceKey))
})
It("emits events to the hub", func() {
Eventually(actualHub.EmitCallCount).Should(Equal(1))
event := actualHub.EmitArgsForCall(0)
removeEvent, ok := event.(*models.ActualLRPRemovedEvent)
Expect(ok).To(BeTrue())
Expect(removeEvent.ActualLrpGroup).To(Equal(&models.ActualLRPGroup{Evacuating: actual}))
})
It("crashes the actual lrp instance", func() {
Expect(fakeActualLRPDB.CrashActualLRPCallCount()).To(Equal(1))
_, key, instanceKey, errorMessage := fakeActualLRPDB.CrashActualLRPArgsForCall(0)
Expect(*key).To(Equal(actual.ActualLRPKey))
Expect(*instanceKey).To(Equal(actual.ActualLRPInstanceKey))
Expect(errorMessage).To(Equal("i failed"))
})
Context("when the DB returns an unrecoverable error", func() {
BeforeEach(func() {
fakeEvacuationDB.RemoveEvacuatingActualLRPReturns(models.NewUnrecoverableError(nil))
})
It("logs and writes to the exit channel", func() {
Eventually(logger).Should(gbytes.Say("unrecoverable-error"))
Eventually(exitCh).Should(Receive())
})
})