Ejemplo n.º 1
0
		Eventually(pipelineDB.LeaseSchedulingCallCount).Should(BeNumerically(">=", 1))

		duration := pipelineDB.LeaseSchedulingArgsForCall(0)
		Expect(duration).To(Equal(100 * time.Millisecond))
	})

	Context("when it can't get the lease", func() {
		BeforeEach(func() {
			pipelineDB.LeaseSchedulingReturns(nil, false, nil)
		})

		It("does not do any scheduling", func() {
			Eventually(pipelineDB.LeaseSchedulingCallCount).Should(Equal(2))

			Expect(scheduler.TryNextPendingBuildCallCount()).To(BeZero())
			Expect(scheduler.BuildLatestInputsCallCount()).To(BeZero())
		})
	})

	Context("when getting the lease blows up", func() {
		BeforeEach(func() {
			pipelineDB.LeaseSchedulingReturns(nil, false, errors.New(":3"))
		})

		It("does not do any scheduling", func() {
			Eventually(pipelineDB.LeaseSchedulingCallCount).Should(Equal(2))

			Expect(scheduler.TryNextPendingBuildCallCount()).To(BeZero())
			Expect(scheduler.BuildLatestInputsCallCount()).To(BeZero())
		})
	})