当前位置: 首页>>代码示例>>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;未经允许,请勿转载。