本文整理匯總了Golang中github.com/cloudfoundry-incubator/bbs/fake_bbs.FakeClient.SubscribeToEventsStub方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeClient.SubscribeToEventsStub方法的具體用法?Golang FakeClient.SubscribeToEventsStub怎麽用?Golang FakeClient.SubscribeToEventsStub使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry-incubator/bbs/fake_bbs.FakeClient
的用法示例。
在下文中一共展示了FakeClient.SubscribeToEventsStub方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
})
It("does not emit any more messages", func() {
Consistently(emitter.EmitCallCount).Should(Equal(1))
})
})
Context("when the event source returns an error", func() {
var subscribeErr error
BeforeEach(func() {
subscribeErr = errors.New("subscribe-error")
bbsClient.SubscribeToEventsStub = func() (events.EventSource, error) {
if bbsClient.SubscribeToEventsCallCount() == 1 {
return eventSource, nil
}
return nil, subscribeErr
}
eventSource.NextStub = func() (models.Event, error) {
return nil, errors.New("next-error")
}
})
JustBeforeEach(func() {
syncEvents.Sync <- struct{}{}
})
It("re-subscribes", func() {
Eventually(bbsClient.SubscribeToEventsCallCount, 2*time.Second).Should(BeNumerically(">", 5))
})
示例2:
})
It("returns an internal server error", func() {
response := &http.Response{}
Eventually(responseChan).Should(Receive(&response))
Expect(response.StatusCode).To(Equal(http.StatusInternalServerError))
})
})
Context("when connection is closed before subscription is complete", func() {
var subscribe chan bool
BeforeEach(func() {
subscribe = make(chan bool)
fakeBBS.SubscribeToEventsStub = func() (events.EventSource, error) {
<-subscribe
return nil, errors.New("broken")
}
})
It("returns an internal server error", func() {
Eventually(fakeBBS.SubscribeToEventsCallCount).Should(Equal(1))
http.DefaultTransport.(*http.Transport).CancelRequest(request)
// should not timeout
server.Close()
Eventually(responseChan).Should(Receive())
})
})
Context("when successfully subscribing to the event stream", func() {
var eventSource *eventfakes.FakeEventSource