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


Golang Consumer.Firehose方法代碼示例

本文整理匯總了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())
開發者ID:cloudfoundry,項目名稱:v3-cli-plugin,代碼行數:31,代碼來源:async_test.go

示例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 (
開發者ID:kei-yamazaki,項目名稱:loggregator,代碼行數:30,代碼來源:firehose_test.go

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

示例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() {
開發者ID:kei-yamazaki,項目名稱:loggregator,代碼行數:31,代碼來源:accesslog_end_to_end_test.go


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