本文整理汇总了Golang中github.com/cloudfoundry/loggregator_consumer.LoggregatorConsumer.Tail方法的典型用法代码示例。如果您正苦于以下问题:Golang LoggregatorConsumer.Tail方法的具体用法?Golang LoggregatorConsumer.Tail怎么用?Golang LoggregatorConsumer.Tail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/loggregator_consumer.LoggregatorConsumer
的用法示例。
在下文中一共展示了LoggregatorConsumer.Tail方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
})
Describe("SetOnConnectCallback", func() {
BeforeEach(func() {
testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond))
endpoint = "ws://" + testServer.Listener.Addr().String()
close(messagesToSend)
})
It("sets a callback and calls it when connecting", func() {
called := false
cb := func() { called = true }
connection = consumer.New(endpoint, tlsSettings, nil)
connection.SetOnConnectCallback(cb)
connection.Tail(appGuid, authToken)
Eventually(func() bool { return called }).Should(BeTrue())
})
Context("when the connection fails", func() {
It("does not call the callback", func() {
endpoint = "!!!bad-endpoint"
called := false
cb := func() { called = true }
connection = consumer.New(endpoint, tlsSettings, nil)
connection.SetOnConnectCallback(cb)
connection.Tail(appGuid, authToken)
示例2:
testProxyServer.Close()
}
if testServer != nil {
testServer.Close()
}
})
Describe("Tail", func() {
AfterEach(func() {
close(messagesToSend)
})
perform := func() {
connection = consumer.New(endpoint, tlsSettings, consumerProxyFunc)
incomingChan, err = connection.Tail(appGuid, authToken)
}
It("connects using valid URL to running consumerProxyFunc server", func() {
messagesToSend <- marshalMessage(createMessage("hello", 0))
perform()
message := <-incomingChan
Expect(message.Message).To(Equal([]byte("hello")))
})
It("connects using valid URL to a stopped consumerProxyFunc server", func() {
testProxyServer.Close()
perform()
示例3:
Expect(err).NotTo(HaveOccurred())
})
AfterEach(func() {
connection.Close()
})
It("should return data for recent", func() {
messages, err := connection.Recent(appGuid, authToken)
Expect(err).NotTo(HaveOccurred())
Expect(messages).To(ContainElement(ContainSubstring("Tick")))
})
It("should return data for tail", func(done Done) {
messagesChan, err := connection.Tail(appGuid, authToken)
Expect(err).NotTo(HaveOccurred())
for m := range messagesChan {
if strings.Contains(string(m.GetMessage()), "Tick") {
break
}
}
close(done)
}, 2)
})
type Config struct {
AccessToken string
示例4:
})
})
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() {
legacyConsumer.Close()
})
It("logs tail access", func() {
legacyConsumer.Tail(APP_ID, AUTH_TOKEN)
expected := fmt.Sprintf("CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /tail/?app=%s|GET /tail/?app=%[1]s|0|", APP_ID)
Eventually(testContents).Should(ContainSubstring(expected))
})
It("logs recent access", func() {
legacyConsumer.Recent(APP_ID, AUTH_TOKEN)
expected := fmt.Sprintf("CEF:0|cloud_foundry|loggregator_trafficcontroller|1.0|GET /recent?app=%s|GET /recent?app=%[1]s|0|", APP_ID)
Eventually(testContents).Should(ContainSubstring(expected))
})
})
})