Beispiel #1
0
			Logger:    lagertest.NewTestLogger("test"),
			DB:        pipelineDB,
			Scheduler: scheduler,
			Noop:      noop,
			Interval:  100 * time.Millisecond,
		})
	})

	AfterEach(func() {
		ginkgomon.Interrupt(process)
	})

	It("signs the scheduling lease for the pipeline", func() {
		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())
		})
	})