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


Golang LoggregatorConsumer.Close方法代碼示例

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


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

示例1:

					Eventually(incomingChan).Should(BeClosed())

					close(done)
				})

				It("sends a keepalive to the server", func() {
					messageCountingServer := &messageCountingHandler{}
					testServer := httptest.NewServer(websocket.Handler(messageCountingServer.handle))
					defer testServer.Close()

					consumer.KeepAlive = 10 * time.Millisecond

					connection = consumer.New("ws://"+testServer.Listener.Addr().String(), tlsSettings, consumerProxyFunc)
					incomingChan, err = connection.Tail(appGuid, authToken)
					defer connection.Close()

					Eventually(messageCountingServer.count).Should(BeNumerically("~", 10, 2))
				})

				It("sends messages for a specific app", func() {
					appGuid = "the-app-guid"
					perform()
					close(messagesToSend)

					Eventually(fakeHandler.getLastURL).Should(ContainSubstring("/tail/?app=the-app-guid"))
				})

				It("sends an Authorization header with an access token", func() {
					authToken = "auth-token"
					perform()
開發者ID:matanzit,項目名稱:cli,代碼行數:30,代碼來源:consumer_test.go

示例2:

	var appGuid, authToken string
	var connection consumer.LoggregatorConsumer

	BeforeEach(func() {
		var err error
		appGuid = os.Getenv("TEST_APP_GUID")
		loggregatorEndpoint := os.Getenv("LOGGREGATOR_ENDPOINT")

		connection = consumer.New(loggregatorEndpoint, &tls.Config{InsecureSkipVerify: true}, nil)
		authToken, err = getAuthToken()
		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
開發者ID:Doebe,項目名稱:workplace,代碼行數:31,代碼來源:loggregator_consumer_smoke_test.go

示例3:

				Expect(err).To(HaveOccurred())
				Expect(err.Error()).To(ContainSubstring(http.StatusText(http.StatusBadRequest)))
			})
		})
	})

	Describe("Close", func() {
		BeforeEach(func() {
			testServer = httptest.NewServer(websocket.Handler(fakeHandler.handle))
			endpoint = "ws://" + testServer.Listener.Addr().String()
		})

		Context("when a connection is not open", func() {
			It("returns an error", func() {
				connection = consumer.New(endpoint, nil, nil)
				err := connection.Close()

				Expect(err.Error()).To(Equal("connection does not exist"))
			})
		})

		Context("when a connection is open", func() {
			It("closes any open channels", func(done Done) {
				connection = consumer.New(endpoint, nil, nil)
				incomingChan, err := connection.Tail("app-guid", "auth-token")
				close(fakeHandler.closeConnection)

				Eventually(fakeHandler.wasCalled).Should(BeTrue())

				connection.Close()
開發者ID:khwang1,項目名稱:loggregator_consumer,代碼行數:30,代碼來源:consumer_test.go

示例4:

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


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