}, }, }, } fakeBaggageCollectorDB.GetVolumesReturns(savedVolumes, nil) }) It("preserves only the image versions used by the latest finished build of each job", func() { err := baggageCollector.Collect() Expect(err).NotTo(HaveOccurred()) Expect(fakeBaggageCollectorDB.GetAllPipelinesCallCount()).To(Equal(1)) Expect(fakePipelineDBFactory.BuildCallCount()).To(Equal(1)) Expect(fakePipelineDBFactory.BuildArgsForCall(0)).To(Equal(savedPipeline)) Expect(fakePipelineDB.GetJobFinishedAndNextBuildCallCount()).To(Equal(1)) Expect(fakePipelineDB.GetJobFinishedAndNextBuildArgsForCall(0)).To(Equal("my-precious-job")) Expect(fakeBaggageCollectorDB.GetImageVolumeIdentifiersByBuildIDCallCount()).To(Equal(1)) Expect(fakeBaggageCollectorDB.GetImageVolumeIdentifiersByBuildIDArgsForCall(0)).To(Equal(2)) Expect(fakeBaggageCollectorDB.GetVolumesCallCount()).To(Equal(1)) Expect(fakeWorkerClient.GetWorkerCallCount()).To(Equal(3)) Expect(workerA.VolumeManagerCallCount()).To(Equal(0)) Expect(workerB.VolumeManagerCallCount()).To(Equal(1)) Expect(workerC.VolumeManagerCallCount()).To(Equal(1)) var handle string Expect(workerBBaggageClaimClient.LookupVolumeCallCount()).To(Equal(1)) _, handle = workerBBaggageClaimClient.LookupVolumeArgsForCall(0) Expect(handle).To(Equal("docker-volume-handle")) Expect(dockerVolume.ReleaseCallCount()).To(Equal(1)) Expect(dockerVolume.ReleaseArgsForCall(0)).To(Equal(worker.FinalTTL(expectedLatestVersionTTL)))