本文整理汇总了Golang中github.com/cloudfoundry/noaa/consumer.Consumer.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang Consumer.Close方法的具体用法?Golang Consumer.Close怎么用?Golang Consumer.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/noaa/consumer.Consumer
的用法示例。
在下文中一共展示了Consumer.Close方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
trafficControllerURL = ""
testServer = nil
fakeHandler = nil
tlsSettings = nil
appGuid = ""
authToken = ""
messagesToSend = make(chan []byte, 256)
})
JustBeforeEach(func() {
cnsmr = consumer.New(trafficControllerURL, tlsSettings, nil)
})
AfterEach(func() {
cnsmr.Close()
if testServer != nil {
testServer.Close()
}
})
Describe("SetOnConnectCallback", func() {
BeforeEach(func() {
testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond, loggertesthelper.Logger()))
trafficControllerURL = "ws://" + testServer.Listener.Addr().String()
close(messagesToSend)
})
It("sets a callback and calls it when connecting", func() {
called := make(chan bool)
cb := func() { called <- true }
示例2:
var _ = Describe("Timeout", func() {
AfterSuite(func() {
if testServer != nil {
testServer.Close()
}
})
BeforeEach(func() {
internal.Timeout = testTimeout
fakeHandler = make(nullHandler, 1)
testServer = httptest.NewServer(fakeHandler)
})
AfterEach(func() {
cnsmr.Close()
})
Describe("TailingLogsWithoutReconnect", func() {
It("times out due to handshake timeout", func() {
defer close(fakeHandler)
cnsmr = consumer.New(strings.Replace(testServer.URL, "http", "ws", 1), nil, nil)
_, errCh := cnsmr.TailingLogsWithoutReconnect(appGuid, authToken)
var err error
Eventually(errCh, 2*testTimeout).Should(Receive(&err))
Expect(err.Error()).To(ContainSubstring("i/o timeout"))
})
})
Describe("Stream", func() {
示例3:
})
AfterEach(func() {
Expect(os.Remove(accessLogFile)).To(Succeed())
})
Context("with modern endpoints", func() {
var noaaConsumer *consumer.Consumer
JustBeforeEach(func() {
tcURL := fmt.Sprintf("ws://%s:%d", localIPAddress, TRAFFIC_CONTROLLER_DROPSONDE_PORT)
noaaConsumer = consumer.New(tcURL, &tls.Config{}, nil)
})
AfterEach(func() {
noaaConsumer.Close()
})
It("logs stream access", func() {
noaaConsumer.Stream(APP_ID, AUTH_TOKEN)
expected := fmt.Sprintf("CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /apps/%s/stream|GET /apps/%[1]s/stream|0|", APP_ID)
Eventually(testContents).Should(ContainSubstring(expected))
})
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))
})
示例4:
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 (
reader *consumer.Consumer
msgs1 <-chan *events.Envelope
msgs2 <-chan *events.Envelope
errs1 <-chan error
errs2 <-chan error
示例5:
Expect(request.URL.Path).To(Equal("/apps/1234/stream"))
currentTime := time.Now().UnixNano()
dropsondeMessage := makeDropsondeMessage("Hello through NOAA", APP_ID, currentTime)
fakeDoppler.SendLogMessage(dropsondeMessage)
var receivedEnvelope *events.Envelope
Eventually(messages).Should(Receive(&receivedEnvelope))
Consistently(errors).ShouldNot(Receive())
receivedMessage := receivedEnvelope.GetLogMessage()
Expect(receivedMessage.GetMessage()).To(BeEquivalentTo("Hello through NOAA"))
Expect(receivedMessage.GetAppId()).To(Equal(APP_ID))
Expect(receivedMessage.GetTimestamp()).To(Equal(currentTime))
client.Close()
})
It("closes the upstream websocket connection when done", func() {
var request *http.Request
Eventually(fakeDoppler.TrafficControllerConnected, 10).Should(Receive(&request))
Eventually(fakeDoppler.ConnectionPresent).Should(BeTrue())
client.Close()
Eventually(fakeDoppler.ConnectionPresent).Should(BeFalse())
})
})
Context("Firehose", func() {
var (