Example #1
0
					},
				}, 1, true, nil)
			})

			Context("when getting the build succeeds", func() {
				BeforeEach(func() {
					pipelineDB.GetJobFinishedAndNextBuildReturns(
						&db.Build{
							ID:           1,
							Name:         "1",
							JobName:      "some-job",
							PipelineName: "some-pipeline",
							Status:       db.StatusSucceeded,
							StartTime:    time.Unix(1, 0),
							EndTime:      time.Unix(100, 0),
						},
						&db.Build{
							ID:           3,
							Name:         "2",
							JobName:      "some-job",
							PipelineName: "some-pipeline",
							Status:       db.StatusStarted,
						},
						nil,
					)
				})

				Context("when getting the job fails", func() {
					BeforeEach(func() {
						pipelineDB.GetJobReturns(db.SavedJob{}, errors.New("nope"))
					})
					},
				},
				3: {
					{
						ResourceVersion: atc.Version{"ref": "rence"},
						ResourceHash:    "docker:qwertyuiop",
					},
				},
			}

			fakeBaggageCollectorDB.GetImageVolumeIdentifiersByBuildIDStub = func(buildID int) ([]db.VolumeIdentifier, error) {
				return imageVersionMap[buildID], nil
			}

			fakePipelineDB = new(dbfakes.FakePipelineDB)
			fakePipelineDB.GetJobFinishedAndNextBuildReturns(&db.Build{ID: 2}, &db.Build{ID: 3}, nil)

			fakePipelineDBFactory.BuildReturns(fakePipelineDB)

			savedVolumes := []db.SavedVolume{
				{
					Volume: db.Volume{
						WorkerName: "workerA",
						TTL:        expectedLatestVersionTTL,
						Handle:     "git-volume-handle",
						VolumeIdentifier: db.VolumeIdentifier{
							ResourceVersion: atc.Version{"ref": "rence"},
							ResourceHash:    "git:zxcvbnm",
						},
					},
				},