本文整理汇总了Golang中github.com/cloudfoundry/noaa/consumer.Consumer.Firehose方法的典型用法代码示例。如果您正苦于以下问题:Golang Consumer.Firehose方法的具体用法?Golang Consumer.Firehose怎么用?Golang Consumer.Firehose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/noaa/consumer.Consumer
的用法示例。
在下文中一共展示了Consumer.Firehose方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
connErr := cnsmr.Close()
Expect(connErr).To(HaveOccurred())
Expect(connErr.Error()).To(ContainSubstring("close sent"))
})
})
})
})
Describe("Firehose", func() {
var (
envelopes <-chan *events.Envelope
errors <-chan error
)
JustBeforeEach(func() {
envelopes, errors = cnsmr.Firehose("subscription-id", authToken)
})
BeforeEach(func() {
startFakeTrafficController()
})
Context("when connection fails", func() {
BeforeEach(func() {
fakeHandler.Fail = true
})
It("attempts to connect five times", func() {
fakeHandler.Close()
for i := 0; i < 5; i++ {
Eventually(errors).Should(Receive())
示例2:
Context("single connection", func() {
var (
reader *consumer.Consumer
msgs <-chan *events.Envelope
errs <-chan error
)
JustBeforeEach(func() {
go emitControlMessages()
waitForControl(msgs)
})
BeforeEach(func() {
reader, _ = helpers.SetUpConsumer()
msgs, errs = reader.Firehose(generateSubID(), "")
go readFromErrors(errs)
})
AfterEach(func() {
reader.Close()
})
It("sends all the envelopes to the subscription", func() {
envelopes := readEnvelopes(2*time.Second, msgs)
Expect(verifyEnvelopes(count, envelopes)).To(BeTrue())
})
})
Context("multiple connections", func() {
var (
示例3:
Describe("FirehoseWithoutReconnect", func() {
It("loads a token if the provided token is empty", func() {
cnsmr.FirehoseWithoutReconnect("some-fake-app-guid", "")
Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
})
It("loads a token if the provided token fails with 401", func() {
testHandler.responseStatuses <- http.StatusUnauthorized
cnsmr.FirehoseWithoutReconnect("some-fake-app-guid", "")
Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
})
})
Describe("Firehose", func() {
It("loads a token if the provided token is empty", func() {
cnsmr.Firehose("some-fake-app-guid", "")
Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
})
It("loads a token if the provided token fails with 401", func() {
testHandler.responseStatuses <- http.StatusUnauthorized
cnsmr.Firehose("some-fake-app-guid", "")
Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
})
})
})
Context("Synchronous", func() {
var (
cnsmr *consumer.Consumer
statuses chan int
示例4:
It("logs recent access", func() {
noaaConsumer.RecentLogs(APP_ID, AUTH_TOKEN)
expected := fmt.Sprintf("CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /apps/%s/recentlogs|GET /apps/%[1]s/recentlogs|0|", APP_ID)
Eventually(testContents).Should(ContainSubstring(expected))
})
It("logs container metrics access", func() {
noaaConsumer.ContainerMetrics(APP_ID, AUTH_TOKEN)
expected := fmt.Sprintf("CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /apps/%s/containermetrics|GET /apps/%[1]s/containermetrics|0|", APP_ID)
Eventually(testContents).Should(ContainSubstring(expected))
})
It("logs firehose access", func() {
noaaConsumer.Firehose("foo", AUTH_TOKEN)
expected := "CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /firehose/foo|GET /firehose/foo|0|"
Eventually(testContents).Should(ContainSubstring(expected))
})
})
Context("with legacy endpoints", func() {
var legacyConsumer loggregator_consumer.LoggregatorConsumer
JustBeforeEach(func() {
tcURL := fmt.Sprintf("ws://%s:%d", localIPAddress, TRAFFIC_CONTROLLER_LEGACY_PORT)
legacyConsumer = loggregator_consumer.New(tcURL, &tls.Config{}, nil)
})
AfterEach(func() {