expectedTTL := 30 * time.Second Eventually(workerDB.SaveWorkerCallCount()).Should(Equal(1)) workerInfo, ttl := workerDB.SaveWorkerArgsForCall(0) Expect(workerInfo).To(Equal(expectedWorkerInfo)) Expect(ttl).To(Equal(expectedTTL)) ginkgomon.Interrupt(process) fakeClock.Increment(11 * time.Second) Consistently(workerDB.SaveWorkerCallCount).Should(Equal(1)) }) }) Context("if saving to the DB fails", func() { disaster := errors.New("bad bad bad") BeforeEach(func() { workerDB.SaveWorkerReturns(db.SavedWorker{}, disaster) }) It("exits early", func() { runner := worker.NewHardcoded(logger, workerDB, fakeClock, gardenAddr, baggageClaimAddr, resourceTypes) process = ifrit.Invoke(runner) Expect(<-process.Wait()).To(Equal(disaster)) }) }) })
expectedTTL := 30 * time.Second Eventually(workerDB.SaveWorkerCallCount()).Should(Equal(1)) workerInfo, ttl := workerDB.SaveWorkerArgsForCall(0) Expect(workerInfo).To(Equal(expectedWorkerInfo)) Expect(ttl).To(Equal(expectedTTL)) ginkgomon.Interrupt(process) fakeClock.Increment(11 * time.Second) Consistently(workerDB.SaveWorkerCallCount).Should(Equal(1)) }) }) Context("if saving to the DB fails", func() { disaster := errors.New("bad bad bad") BeforeEach(func() { workerDB.SaveWorkerReturns(disaster) }) It("exits early", func() { runner := worker.NewHardcoded(logger, workerDB, fakeClock, gardenAddr, baggageClaimAddr, resourceTypes) process = ifrit.Invoke(runner) Expect(<-process.Wait()).To(Equal(disaster)) }) }) })