本文整理汇总了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