當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Consumer.Stream方法代碼示例

本文整理匯總了Golang中github.com/cloudfoundry/noaa/consumer.Consumer.Stream方法的典型用法代碼示例。如果您正苦於以下問題:Golang Consumer.Stream方法的具體用法?Golang Consumer.Stream怎麽用?Golang Consumer.Stream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/cloudfoundry/noaa/consumer.Consumer的用法示例。


在下文中一共展示了Consumer.Stream方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1:

			})
		})
	})

	Describe("Stream", func() {
		var (
			envelopes <-chan *events.Envelope
			errors    <-chan error
		)

		BeforeEach(func() {
			startFakeTrafficController()
		})

		JustBeforeEach(func() {
			envelopes, errors = cnsmr.Stream(appGuid, authToken)
		})

		Context("connection errors", 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())
				}
			})
		})
開發者ID:cloudfoundry,項目名稱:v3-cli-plugin,代碼行數:31,代碼來源:async_test.go

示例2:

		Describe("StreamWithoutReconnect", func() {
			It("loads a token if the provided token is empty", func() {
				cnsmr.StreamWithoutReconnect("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.StreamWithoutReconnect("some-fake-app-guid", "")
				Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
			})
		})

		Describe("Stream", func() {
			It("loads a token if the provided token is empty", func() {
				cnsmr.Stream("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.Stream("some-fake-app-guid", "")
				Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
			})
		})

		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())
			})
開發者ID:cloudfoundry,項目名稱:v3-cli-plugin,代碼行數:31,代碼來源:token_refresher_test.go

示例3:

			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() {
		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.Stream(appGuid, authToken)
			var err error
			Eventually(errCh, 2*testTimeout).Should(Receive(&err))
			Expect(err.Error()).To(ContainSubstring("i/o timeout"))
		})
	})

	Describe("RecentLogs", func() {
		It("times out due to an unresponsive server", func() {
			defer close(fakeHandler)
			errs := make(chan error, 10)
			cnsmr = consumer.New(strings.Replace(testServer.URL, "http", "ws", 1), nil, nil)
			go func() {
				_, err := cnsmr.RecentLogs("some-guid", "some-token")
				errs <- err
			}()
開發者ID:cloudfoundry,項目名稱:v3-cli-plugin,代碼行數:31,代碼來源:timeout_test.go

示例4:

	})

	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))
		})

		It("logs container metrics access", func() {
			noaaConsumer.ContainerMetrics(APP_ID, AUTH_TOKEN)
開發者ID:kei-yamazaki,項目名稱:loggregator,代碼行數:30,代碼來源:accesslog_end_to_end_test.go


注:本文中的github.com/cloudfoundry/noaa/consumer.Consumer.Stream方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。