}, }, }, { Volume: db.Volume{ WorkerName: "workerC", TTL: 92 * time.Minute, Handle: "crossed-wires-volume-handle", VolumeIdentifier: db.VolumeIdentifier{ ResourceVersion: atc.Version{"ref": "rence"}, ResourceHash: "docker:qwertyuiop", }, }, }, } 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))