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


Golang FakeStoreAdapter.SetErrInjector方法代碼示例

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


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

示例1:

				Ω(metrics["StartEvacuating"]).Should(BeNumerically("==", 6))
				Ω(metrics["StopExtra"]).Should(BeNumerically("==", 2))
				Ω(metrics["StopDuplicate"]).Should(BeNumerically("==", 4))
				Ω(metrics["StopEvacuationComplete"]).Should(BeNumerically("==", 6))
			})
		})

		Context("when the store times out while getting metrics", func() {
			BeforeEach(func() {
				fakeStoreAdapter.GetErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("metrics", errors.New("oops"))
			})

			It("should return an error", func() {
				err := accountant.IncrementSentMessageMetrics(starts, stops)
				Ω(err).Should(Equal(errors.New("oops")))
			})
		})

		Context("when the store times out while saving metrics", func() {
			BeforeEach(func() {
				fakeStoreAdapter.SetErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("metrics", errors.New("oops"))
			})

			It("should return an error", func() {
				err := accountant.IncrementSentMessageMetrics(starts, stops)
				Ω(err).Should(Equal(errors.New("oops")))
			})
		})
	})
})
開發者ID:nkts,項目名稱:golang-devops-stuff,代碼行數:30,代碼來源:metricsaccountant_test.go

示例2:

				conf.ListenerHeartbeatSyncIntervalInMilliseconds = 0
				forceHeartbeatSync()
			})

			It("should not bump the freshness", func() {
				isFresh, _ := store.IsActualStateFresh(freshByTime)
				Ω(isFresh).Should(BeFalse())
			})
		})

		Context("when the save fails", func() {
			BeforeEach(func() {
				store.BumpActualFreshness(timeProvider.Time())

				storeAdapter.SetErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector(app.InstanceAtIndex(0).InstanceGuid, errors.New("oops"))

				messageBus.Subscriptions["dea.heartbeat"][0].Callback(&yagnats.Message{
					Payload: heartbeat.ToJSON(),
				})

				forceHeartbeatSync()
			})

			It("logs about the failed save", func() {
				Ω(logger.LoggedSubjects).Should(ContainElement(ContainSubstring("Could not put instance heartbeats in store")))
			})

			It("does not bump the SavedHeartbeats metric", func() {
				Ω(metricsAccountant.SavedHeartbeats).Should(Equal(0))
			})
開發者ID:KeyOfSpectator,項目名稱:hm9000,代碼行數:30,代碼來源:actual_state_listener_test.go

示例3:

				It("should track the time taken to sync desired state", func() {
					Ω(metricsAccountant.TrackedDesiredStateSyncTime).ShouldNot(BeZero())
				})

				It("should send a succesful result down the result channel", func(done Done) {
					result := <-resultChan
					Ω(result.Success).Should(BeTrue())
					Ω(result.Message).Should(BeZero())
					Ω(result.Error).ShouldNot(HaveOccurred())
					close(done)
				}, 0.1)

				Context("and it fails to write to the store", func() {
					BeforeEach(func() {
						storeAdapter.SetErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("desired", errors.New("oops!"))
					})

					assertFailure("Failed to sync desired state to the store", 2)
				})

				Context("and it fails to read from the store", func() {
					BeforeEach(func() {
						storeAdapter.ListErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("apps", errors.New("oops!"))
					})

					assertFailure("Failed to sync desired state to the store", 2)
				})
			})
		})
開發者ID:KeyOfSpectator,項目名稱:hm9000,代碼行數:29,代碼來源:desired_state_fetcher_test.go

示例4:

	Context("when there are start messages", func() {
		var keepAliveTime int
		var sentOn int64
		var err error
		var pendingMessage models.PendingStartMessage
		var storeSetErrInjector *fakestoreadapter.FakeStoreAdapterErrorInjector

		JustBeforeEach(func() {
			store.SyncDesiredState(app.DesiredState(1))
			pendingMessage = models.NewPendingStartMessage(time.Unix(100, 0), 30, keepAliveTime, app.AppGuid, app.AppVersion, 0, 1.0, models.PendingStartMessageReasonInvalid)
			pendingMessage.SentOn = sentOn
			store.SavePendingStartMessages(
				pendingMessage,
			)
			storeAdapter.SetErrInjector = storeSetErrInjector
			err = sender.Send()
		})

		BeforeEach(func() {
			keepAliveTime = 0
			sentOn = 0
			err = nil
			storeSetErrInjector = nil
		})

		Context("and it is not time to send the message yet", func() {
			BeforeEach(func() {
				timeProvider.TimeToProvide = time.Unix(129, 0)
			})
開發者ID:tomzhang,項目名稱:golang-devops-stuff,代碼行數:29,代碼來源:sender_test.go


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