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


Golang DB.WatchRouteChanges方法代碼示例

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


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

示例1:

						})

						It("returns the network error", func() {
							err := fakeEtcd.SaveRoute(route)
							Expect(err).To(HaveOccurred())
							Expect(err).To(Equal(errors.New("some network error")))
							Expect(fakeKeysAPI.GetCallCount()).To(Equal(1))
							Expect(fakeKeysAPI.SetCallCount()).To(Equal(1))
						})
					})
				})
			})

			Describe("WatchRouteChanges with http events", func() {
				It("does return an error when canceled", func() {
					_, errors, cancel := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY)
					cancel()
					Consistently(errors).ShouldNot(Receive())
					Eventually(errors).Should(BeClosed())
				})

				Context("Cancel Watches", func() {
					It("cancels any in-flight watches", func() {
						results, err, _ := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY)
						results2, err2, _ := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY)

						etcd.CancelWatches()

						Eventually(err).Should(BeClosed())
						Eventually(err2).Should(BeClosed())
						Eventually(results).Should(BeClosed())
開發者ID:yingkitw,項目名稱:gorouter,代碼行數:31,代碼來源:db_test.go

示例2:

					Expect(response.Node.TTL).To(Equal(int64(47)))
					Expect(response.Node.Value).To(MatchJSON(`{
						"ip": "9.8.7.6",
						"route": "next-route",
						"port": 12345,
						"ttl": 47,
						"log_guid": "new-guid"
					}`))
				})
			})
		})

		Describe(".WatchRouteChanges", func() {
			Context("when a route is upserted", func() {
				It("should return an update watch event", func() {
					results, _, _ := etcd.WatchRouteChanges()

					err := etcd.SaveRoute(route)
					Expect(err).NotTo(HaveOccurred())

					event := <-results
					Expect(event).NotTo(BeNil())
					Expect(event.Type).To(Equal(storeadapter.UpdateEvent))
				})
			})

			Context("when a route is deleted", func() {
				It("should return an delete watch event", func() {
					err := etcd.SaveRoute(route)
					Expect(err).NotTo(HaveOccurred())
開發者ID:trainchou,項目名稱:gorouter,代碼行數:30,代碼來源:db_test.go

示例3:

						Expect(node.TTL).To(Equal(uint64(47)))
						Expect(node.Value).To(MatchJSON(`{
							"ip": "9.8.7.6",
							"route": "next-route",
							"port": 12345,
							"ttl": 47,
							"log_guid": "new-guid"
						}`))
					})
				})
			})

			Describe("WatchRouteChanges with http events", func() {
				Context("when a route is upserted", func() {
					It("should return an update watch event", func() {
						results, _, _ := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY)

						err := etcd.SaveRoute(route)
						Expect(err).NotTo(HaveOccurred())
						event := <-results
						Expect(event).NotTo(BeNil())
						Expect(event.Type).To(Equal(storeadapter.UpdateEvent))

						By("when tcp route is upserted")
						err = etcd.SaveTcpRouteMapping(tcpRouteMapping1)
						Expect(err).NotTo(HaveOccurred())
						Consistently(results).ShouldNot(Receive())
					})
				})

				Context("when a route is deleted", func() {
開發者ID:drnic,項目名稱:noop-cf-boshrelease,代碼行數:31,代碼來源:db_test.go


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