本文整理匯總了Golang中code/cloudfoundry/org/bbs/db/dbfakes.FakeActualLRPDB.RemoveActualLRPReturns方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeActualLRPDB.RemoveActualLRPReturns方法的具體用法?Golang FakeActualLRPDB.RemoveActualLRPReturns怎麽用?Golang FakeActualLRPDB.RemoveActualLRPReturns使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類code/cloudfoundry/org/bbs/db/dbfakes.FakeActualLRPDB
的用法示例。
在下文中一共展示了FakeActualLRPDB.RemoveActualLRPReturns方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
Expect(deletedLRPGuid).To(Equal(processGuid))
Expect(deletedLRPIndex).To(Equal(index))
Expect(deletedLRPInstanceKey).To(Equal(&actualLRPGroup.Instance.ActualLRPInstanceKey))
})
It("emits a removed event to the hub", func() {
Eventually(actualHub.EmitCallCount).Should(Equal(1))
event := actualHub.EmitArgsForCall(0)
removedEvent, ok := event.(*models.ActualLRPRemovedEvent)
Expect(ok).To(BeTrue())
Expect(removedEvent.ActualLrpGroup).To(Equal(&models.ActualLRPGroup{Instance: &actualLRP}))
})
Context("when removing the actual lrp fails", func() {
BeforeEach(func() {
fakeActualLRPDB.RemoveActualLRPReturns(errors.New("boom!"))
})
It("retries removing up to RetireActualLRPRetryAttempts times", func() {
Expect(response.Error.Message).To(Equal("boom!"))
Expect(fakeActualLRPDB.RemoveActualLRPCallCount()).To(Equal(5))
Expect(fakeActualLRPDB.ActualLRPGroupByProcessGuidAndIndexCallCount()).To(Equal(5))
})
It("does not emit a change event to the hub", func() {
Consistently(actualHub.EmitCallCount).Should(Equal(0))
})
})
})
Context("when the LRP is crashed", func() {
示例2:
Expect(response.KeepContainer).To(BeFalse())
Expect(response.Error).To(Equal(models.ErrActualLRPCannotBeRemoved))
})
It("emits only the removal of the evacuating 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}))
})
})
Context("when the DB returns an unrecoverable error", func() {
BeforeEach(func() {
fakeActualLRPDB.RemoveActualLRPReturns(models.NewUnrecoverableError(nil))
})
It("logs and writes to the exit channel", func() {
Eventually(logger).Should(gbytes.Say("unrecoverable-error"))
Eventually(exitCh).Should(Receive())
})
})
Context("when removing the actual lrp fails", func() {
BeforeEach(func() {
fakeActualLRPDB.RemoveActualLRPReturns(errors.New("boom!"))
})
It("returns an error but does not keep the container", func() {
response := models.EvacuationResponse{}